﻿2026-06-13T11:05:52.7593328Z ##[group]Run ./traceable-reqs check --json
2026-06-13T11:05:52.7593696Z [36;1m./traceable-reqs check --json[0m
2026-06-13T11:05:52.7606024Z shell: /usr/bin/bash -e {0}
2026-06-13T11:05:52.7606281Z ##[endgroup]
2026-06-13T11:05:52.7783267Z {
2026-06-13T11:05:52.7783778Z   "schemaVersion": 1,
2026-06-13T11:05:52.7784220Z   "summary": {
2026-06-13T11:05:52.7784965Z     "requirementCount": 190,
2026-06-13T11:05:52.7785412Z     "completeCount": 190,
2026-06-13T11:05:52.7785836Z     "incompleteCount": 0,
2026-06-13T11:05:52.7786251Z     "findingCount": 0
2026-06-13T11:05:52.7786638Z   },
2026-06-13T11:05:52.7786990Z   "requirements": [
2026-06-13T11:05:52.7787315Z     {
2026-06-13T11:05:52.7787601Z       "id": "REQ-API-1",
2026-06-13T11:05:52.7788038Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-13T11:05:52.7788532Z       "requiredStages": [
2026-06-13T11:05:52.7788847Z         "impl",
2026-06-13T11:05:52.7789228Z         "unit",
2026-06-13T11:05:52.7789519Z         "int"
2026-06-13T11:05:52.7789834Z       ],
2026-06-13T11:05:52.7790111Z       "stages": {
2026-06-13T11:05:52.7790397Z         "doc": {
2026-06-13T11:05:52.7790707Z           "complete": false,
2026-06-13T11:05:52.7791053Z           "evidence": []
2026-06-13T11:05:52.7791361Z         },
2026-06-13T11:05:52.7791651Z         "impl": {
2026-06-13T11:05:52.7792767Z           "complete": true,
2026-06-13T11:05:52.7793105Z           "evidence": [
2026-06-13T11:05:52.7793416Z             {
2026-06-13T11:05:52.7793742Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T11:05:52.7794151Z               "line": 15
2026-06-13T11:05:52.7794466Z             }
2026-06-13T11:05:52.7794752Z           ]
2026-06-13T11:05:52.7795024Z         },
2026-06-13T11:05:52.7795310Z         "int": {
2026-06-13T11:05:52.7795611Z           "complete": true,
2026-06-13T11:05:52.7795959Z           "evidence": [
2026-06-13T11:05:52.7796278Z             {
2026-06-13T11:05:52.7796626Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T11:05:52.7797049Z               "line": 13
2026-06-13T11:05:52.7797369Z             }
2026-06-13T11:05:52.7797650Z           ]
2026-06-13T11:05:52.7797932Z         },
2026-06-13T11:05:52.7798213Z         "unit": {
2026-06-13T11:05:52.7798527Z           "complete": true,
2026-06-13T11:05:52.7798868Z           "evidence": [
2026-06-13T11:05:52.7799259Z             {
2026-06-13T11:05:52.7799588Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T11:05:52.7799998Z               "line": 471
2026-06-13T11:05:52.7800317Z             },
2026-06-13T11:05:52.7800613Z             {
2026-06-13T11:05:52.7800938Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T11:05:52.7801343Z               "line": 509
2026-06-13T11:05:52.7801660Z             },
2026-06-13T11:05:52.7801950Z             {
2026-06-13T11:05:52.7802284Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T11:05:52.7802684Z               "line": 576
2026-06-13T11:05:52.7803003Z             }
2026-06-13T11:05:52.7803300Z           ]
2026-06-13T11:05:52.7803595Z         }
2026-06-13T11:05:52.7803891Z       }
2026-06-13T11:05:52.7804175Z     },
2026-06-13T11:05:52.7804458Z     {
2026-06-13T11:05:52.7804749Z       "id": "REQ-API-2",
2026-06-13T11:05:52.7805255Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-13T11:05:52.7805824Z       "requiredStages": [
2026-06-13T11:05:52.7806158Z         "impl",
2026-06-13T11:05:52.7806453Z         "unit",
2026-06-13T11:05:52.7806754Z         "int"
2026-06-13T11:05:52.7807042Z       ],
2026-06-13T11:05:52.7807333Z       "stages": {
2026-06-13T11:05:52.7807633Z         "doc": {
2026-06-13T11:05:52.7807943Z           "complete": false,
2026-06-13T11:05:52.7808301Z           "evidence": []
2026-06-13T11:05:52.7808616Z         },
2026-06-13T11:05:52.7808907Z         "impl": {
2026-06-13T11:05:52.7809277Z           "complete": true,
2026-06-13T11:05:52.7809623Z           "evidence": [
2026-06-13T11:05:52.7809943Z             {
2026-06-13T11:05:52.7810549Z               "path": "crates/spt-store/src/history.rs",
2026-06-13T11:05:52.7810964Z               "line": 15
2026-06-13T11:05:52.7811288Z             },
2026-06-13T11:05:52.7811579Z             {
2026-06-13T11:05:52.7811918Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.7812319Z               "line": 20
2026-06-13T11:05:52.7812781Z             },
2026-06-13T11:05:52.7813081Z             {
2026-06-13T11:05:52.7813434Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.7813836Z               "line": 139
2026-06-13T11:05:52.7814155Z             },
2026-06-13T11:05:52.7814461Z             {
2026-06-13T11:05:52.7814811Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7815224Z               "line": 21
2026-06-13T11:05:52.7815539Z             },
2026-06-13T11:05:52.7815825Z             {
2026-06-13T11:05:52.7816178Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7816593Z               "line": 38
2026-06-13T11:05:52.7816931Z             },
2026-06-13T11:05:52.7817232Z             {
2026-06-13T11:05:52.7817563Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7817970Z               "line": 190
2026-06-13T11:05:52.7818309Z             },
2026-06-13T11:05:52.7818609Z             {
2026-06-13T11:05:52.7819023Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7836860Z               "line": 232
2026-06-13T11:05:52.7837194Z             },
2026-06-13T11:05:52.7837494Z             {
2026-06-13T11:05:52.7837856Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7838275Z               "line": 262
2026-06-13T11:05:52.7838603Z             },
2026-06-13T11:05:52.7838914Z             {
2026-06-13T11:05:52.7839352Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.7839758Z               "line": 17
2026-06-13T11:05:52.7840087Z             },
2026-06-13T11:05:52.7840364Z             {
2026-06-13T11:05:52.7840722Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.7841128Z               "line": 30
2026-06-13T11:05:52.7841461Z             },
2026-06-13T11:05:52.7841762Z             {
2026-06-13T11:05:52.7842091Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.7842495Z               "line": 63
2026-06-13T11:05:52.7842825Z             },
2026-06-13T11:05:52.7843125Z             {
2026-06-13T11:05:52.7843469Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.7843877Z               "line": 76
2026-06-13T11:05:52.7844204Z             }
2026-06-13T11:05:52.7844500Z           ]
2026-06-13T11:05:52.7844786Z         },
2026-06-13T11:05:52.7845096Z         "int": {
2026-06-13T11:05:52.7845430Z           "complete": true,
2026-06-13T11:05:52.7845673Z           "evidence": [
2026-06-13T11:05:52.7845906Z             {
2026-06-13T11:05:52.7846151Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T11:05:52.7846440Z               "line": 14
2026-06-13T11:05:52.7846656Z             },
2026-06-13T11:05:52.7846858Z             {
2026-06-13T11:05:52.7847100Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T11:05:52.7847377Z               "line": 187
2026-06-13T11:05:52.7847600Z             }
2026-06-13T11:05:52.7847806Z           ]
2026-06-13T11:05:52.7847992Z         },
2026-06-13T11:05:52.7848197Z         "unit": {
2026-06-13T11:05:52.7848416Z           "complete": true,
2026-06-13T11:05:52.7848646Z           "evidence": [
2026-06-13T11:05:52.7848864Z             {
2026-06-13T11:05:52.7849235Z               "path": "crates/spt-store/src/history.rs",
2026-06-13T11:05:52.7849525Z               "line": 42
2026-06-13T11:05:52.7849751Z             },
2026-06-13T11:05:52.7849951Z             {
2026-06-13T11:05:52.7850198Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.7850484Z               "line": 254
2026-06-13T11:05:52.7850713Z             },
2026-06-13T11:05:52.7850915Z             {
2026-06-13T11:05:52.7851366Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7851655Z               "line": 517
2026-06-13T11:05:52.7851960Z             },
2026-06-13T11:05:52.7852164Z             {
2026-06-13T11:05:52.7852416Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7852702Z               "line": 528
2026-06-13T11:05:52.7853041Z             },
2026-06-13T11:05:52.7853251Z             {
2026-06-13T11:05:52.7853496Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7853777Z               "line": 660
2026-06-13T11:05:52.7854005Z             },
2026-06-13T11:05:52.7854201Z             {
2026-06-13T11:05:52.7854447Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7854731Z               "line": 672
2026-06-13T11:05:52.7854950Z             },
2026-06-13T11:05:52.7855160Z             {
2026-06-13T11:05:52.7855399Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.7855680Z               "line": 141
2026-06-13T11:05:52.7855908Z             },
2026-06-13T11:05:52.7856118Z             {
2026-06-13T11:05:52.7856620Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.7856980Z               "line": 185
2026-06-13T11:05:52.7857322Z             }
2026-06-13T11:05:52.7857637Z           ]
2026-06-13T11:05:52.7857918Z         }
2026-06-13T11:05:52.7858262Z       }
2026-06-13T11:05:52.7858542Z     },
2026-06-13T11:05:52.7858891Z     {
2026-06-13T11:05:52.7859282Z       "id": "REQ-API-3",
2026-06-13T11:05:52.7859667Z       "title": "commune/signoff are file-drops, not commands",
2026-06-13T11:05:52.7860134Z       "requiredStages": [
2026-06-13T11:05:52.7860448Z         "impl",
2026-06-13T11:05:52.7860734Z         "unit",
2026-06-13T11:05:52.7861082Z         "int"
2026-06-13T11:05:52.7890843Z       ],
2026-06-13T11:05:52.7891128Z       "stages": {
2026-06-13T11:05:52.7891343Z         "doc": {
2026-06-13T11:05:52.7891562Z           "complete": false,
2026-06-13T11:05:52.7891804Z           "evidence": []
2026-06-13T11:05:52.7892033Z         },
2026-06-13T11:05:52.7892235Z         "impl": {
2026-06-13T11:05:52.7892453Z           "complete": true,
2026-06-13T11:05:52.7892686Z           "evidence": [
2026-06-13T11:05:52.7892897Z             {
2026-06-13T11:05:52.7893141Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.7893416Z               "line": 27
2026-06-13T11:05:52.7893626Z             },
2026-06-13T11:05:52.7893826Z             {
2026-06-13T11:05:52.7894076Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7894371Z               "line": 374
2026-06-13T11:05:52.7894591Z             }
2026-06-13T11:05:52.7894796Z           ]
2026-06-13T11:05:52.7894990Z         },
2026-06-13T11:05:52.7895201Z         "int": {
2026-06-13T11:05:52.7895426Z           "complete": true,
2026-06-13T11:05:52.7895669Z           "evidence": [
2026-06-13T11:05:52.7895893Z             {
2026-06-13T11:05:52.7896149Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T11:05:52.7896446Z               "line": 261
2026-06-13T11:05:52.7896664Z             }
2026-06-13T11:05:52.7896862Z           ]
2026-06-13T11:05:52.7897058Z         },
2026-06-13T11:05:52.7897257Z         "unit": {
2026-06-13T11:05:52.7897477Z           "complete": true,
2026-06-13T11:05:52.7897711Z           "evidence": [
2026-06-13T11:05:52.7897945Z             {
2026-06-13T11:05:52.7898197Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.7898478Z               "line": 280
2026-06-13T11:05:52.7898693Z             },
2026-06-13T11:05:52.7898894Z             {
2026-06-13T11:05:52.7899211Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.7899499Z               "line": 701
2026-06-13T11:05:52.7899724Z             }
2026-06-13T11:05:52.7899925Z           ]
2026-06-13T11:05:52.7900129Z         }
2026-06-13T11:05:52.7900316Z       }
2026-06-13T11:05:52.7900512Z     },
2026-06-13T11:05:52.7900701Z     {
2026-06-13T11:05:52.7900912Z       "id": "REQ-ARCH-1",
2026-06-13T11:05:52.7901379Z       "title": "Many small acyclically-layered crates",
2026-06-13T11:05:52.7901669Z       "requiredStages": [
2026-06-13T11:05:52.7901894Z         "impl"
2026-06-13T11:05:52.7902098Z       ],
2026-06-13T11:05:52.7902297Z       "stages": {
2026-06-13T11:05:52.7902503Z         "doc": {
2026-06-13T11:05:52.7902851Z           "complete": false,
2026-06-13T11:05:52.7903095Z           "evidence": []
2026-06-13T11:05:52.7903318Z         },
2026-06-13T11:05:52.7903514Z         "impl": {
2026-06-13T11:05:52.7903734Z           "complete": true,
2026-06-13T11:05:52.7903976Z           "evidence": [
2026-06-13T11:05:52.7904190Z             {
2026-06-13T11:05:52.7904432Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-13T11:05:52.7904698Z               "line": 16
2026-06-13T11:05:52.7904902Z             },
2026-06-13T11:05:52.7905109Z             {
2026-06-13T11:05:52.7905328Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-13T11:05:52.7905600Z               "line": 12
2026-06-13T11:05:52.7905818Z             },
2026-06-13T11:05:52.7906009Z             {
2026-06-13T11:05:52.7906243Z               "path": "crates/spt-store/src/lib.rs",
2026-06-13T11:05:52.7906505Z               "line": 12
2026-06-13T11:05:52.7906714Z             }
2026-06-13T11:05:52.7906907Z           ]
2026-06-13T11:05:52.7907105Z         },
2026-06-13T11:05:52.7907299Z         "int": {
2026-06-13T11:05:52.7907508Z           "complete": false,
2026-06-13T11:05:52.7907727Z           "evidence": []
2026-06-13T11:05:52.7907942Z         },
2026-06-13T11:05:52.7908142Z         "unit": {
2026-06-13T11:05:52.7908361Z           "complete": false,
2026-06-13T11:05:52.7908595Z           "evidence": []
2026-06-13T11:05:52.7908805Z         }
2026-06-13T11:05:52.7909057Z       }
2026-06-13T11:05:52.7909239Z     },
2026-06-13T11:05:52.7909425Z     {
2026-06-13T11:05:52.7909629Z       "id": "REQ-ARCH-2",
2026-06-13T11:05:52.7909946Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-13T11:05:52.7910275Z       "requiredStages": [
2026-06-13T11:05:52.7910495Z         "impl"
2026-06-13T11:05:52.7910685Z       ],
2026-06-13T11:05:52.7910861Z       "stages": {
2026-06-13T11:05:52.7911058Z         "doc": {
2026-06-13T11:05:52.7911262Z           "complete": false,
2026-06-13T11:05:52.7911482Z           "evidence": []
2026-06-13T11:05:52.7911697Z         },
2026-06-13T11:05:52.7911892Z         "impl": {
2026-06-13T11:05:52.7912097Z           "complete": true,
2026-06-13T11:05:52.7912317Z           "evidence": [
2026-06-13T11:05:52.7912524Z             {
2026-06-13T11:05:52.7912759Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-13T11:05:52.7913031Z               "line": 18
2026-06-13T11:05:52.7913234Z             }
2026-06-13T11:05:52.7913426Z           ]
2026-06-13T11:05:52.7913612Z         },
2026-06-13T11:05:52.7913807Z         "int": {
2026-06-13T11:05:52.7914018Z           "complete": false,
2026-06-13T11:05:52.7914242Z           "evidence": []
2026-06-13T11:05:52.7914465Z         },
2026-06-13T11:05:52.7914652Z         "unit": {
2026-06-13T11:05:52.7914859Z           "complete": false,
2026-06-13T11:05:52.7915096Z           "evidence": []
2026-06-13T11:05:52.7915306Z         }
2026-06-13T11:05:52.7915481Z       }
2026-06-13T11:05:52.7915674Z     },
2026-06-13T11:05:52.7915854Z     {
2026-06-13T11:05:52.7916058Z       "id": "REQ-ARCH-3",
2026-06-13T11:05:52.7916407Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-13T11:05:52.7916789Z       "requiredStages": [
2026-06-13T11:05:52.7917013Z         "impl",
2026-06-13T11:05:52.7917218Z         "unit"
2026-06-13T11:05:52.7917409Z       ],
2026-06-13T11:05:52.7917613Z       "stages": {
2026-06-13T11:05:52.7917818Z         "doc": {
2026-06-13T11:05:52.7918029Z           "complete": false,
2026-06-13T11:05:52.7918263Z           "evidence": []
2026-06-13T11:05:52.7918474Z         },
2026-06-13T11:05:52.7918668Z         "impl": {
2026-06-13T11:05:52.7918879Z           "complete": true,
2026-06-13T11:05:52.7919465Z           "evidence": [
2026-06-13T11:05:52.7919675Z             {
2026-06-13T11:05:52.7919933Z               "path": "crates/spt-proto/src/version.rs",
2026-06-13T11:05:52.7920208Z               "line": 34
2026-06-13T11:05:52.7920426Z             },
2026-06-13T11:05:52.7920620Z             {
2026-06-13T11:05:52.7920963Z               "path": "crates/spt-proto/src/version.rs",
2026-06-13T11:05:52.7921240Z               "line": 41
2026-06-13T11:05:52.7921455Z             }
2026-06-13T11:05:52.7921642Z           ]
2026-06-13T11:05:52.7921831Z         },
2026-06-13T11:05:52.7922022Z         "int": {
2026-06-13T11:05:52.7922223Z           "complete": false,
2026-06-13T11:05:52.7922456Z           "evidence": []
2026-06-13T11:05:52.7922657Z         },
2026-06-13T11:05:52.7922848Z         "unit": {
2026-06-13T11:05:52.7923056Z           "complete": true,
2026-06-13T11:05:52.7923291Z           "evidence": [
2026-06-13T11:05:52.7923490Z             {
2026-06-13T11:05:52.7923733Z               "path": "crates/spt-proto/src/version.rs",
2026-06-13T11:05:52.7924024Z               "line": 51
2026-06-13T11:05:52.7924230Z             },
2026-06-13T11:05:52.7924419Z             {
2026-06-13T11:05:52.7924658Z               "path": "crates/spt-proto/src/version.rs",
2026-06-13T11:05:52.7924930Z               "line": 71
2026-06-13T11:05:52.7925150Z             },
2026-06-13T11:05:52.7925348Z             {
2026-06-13T11:05:52.7925586Z               "path": "crates/spt-proto/src/version.rs",
2026-06-13T11:05:52.7925861Z               "line": 83
2026-06-13T11:05:52.7926071Z             }
2026-06-13T11:05:52.7926271Z           ]
2026-06-13T11:05:52.7926463Z         }
2026-06-13T11:05:52.7926652Z       }
2026-06-13T11:05:52.7926843Z     },
2026-06-13T11:05:52.7927029Z     {
2026-06-13T11:05:52.7927234Z       "id": "REQ-ARCH-4",
2026-06-13T11:05:52.7927554Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-13T11:05:52.7927902Z       "requiredStages": [
2026-06-13T11:05:52.7928135Z         "impl",
2026-06-13T11:05:52.7928344Z         "unit"
2026-06-13T11:05:52.7928547Z       ],
2026-06-13T11:05:52.7928748Z       "stages": {
2026-06-13T11:05:52.7929015Z         "doc": {
2026-06-13T11:05:52.7929228Z           "complete": false,
2026-06-13T11:05:52.7929467Z           "evidence": []
2026-06-13T11:05:52.7929678Z         },
2026-06-13T11:05:52.7929872Z         "impl": {
2026-06-13T11:05:52.7930087Z           "complete": true,
2026-06-13T11:05:52.7930317Z           "evidence": [
2026-06-13T11:05:52.7930521Z             {
2026-06-13T11:05:52.7930763Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7931033Z               "line": 157
2026-06-13T11:05:52.7931248Z             },
2026-06-13T11:05:52.7931456Z             {
2026-06-13T11:05:52.7931691Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7931963Z               "line": 180
2026-06-13T11:05:52.7932178Z             },
2026-06-13T11:05:52.7932377Z             {
2026-06-13T11:05:52.7932620Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7932897Z               "line": 200
2026-06-13T11:05:52.7933112Z             },
2026-06-13T11:05:52.7933311Z             {
2026-06-13T11:05:52.7933546Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7933816Z               "line": 215
2026-06-13T11:05:52.7934030Z             },
2026-06-13T11:05:52.7934260Z             {
2026-06-13T11:05:52.7934494Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7934766Z               "line": 265
2026-06-13T11:05:52.7934979Z             }
2026-06-13T11:05:52.7935175Z           ]
2026-06-13T11:05:52.7935357Z         },
2026-06-13T11:05:52.7935546Z         "int": {
2026-06-13T11:05:52.7935758Z           "complete": false,
2026-06-13T11:05:52.7935989Z           "evidence": []
2026-06-13T11:05:52.7936202Z         },
2026-06-13T11:05:52.7936408Z         "unit": {
2026-06-13T11:05:52.7936621Z           "complete": true,
2026-06-13T11:05:52.7936965Z           "evidence": [
2026-06-13T11:05:52.7937184Z             {
2026-06-13T11:05:52.7937413Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7937686Z               "line": 326
2026-06-13T11:05:52.7937899Z             },
2026-06-13T11:05:52.7938094Z             {
2026-06-13T11:05:52.7938339Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7938719Z               "line": 336
2026-06-13T11:05:52.7938933Z             },
2026-06-13T11:05:52.7939236Z             {
2026-06-13T11:05:52.7939479Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7939755Z               "line": 347
2026-06-13T11:05:52.7939975Z             },
2026-06-13T11:05:52.7940161Z             {
2026-06-13T11:05:52.7940394Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7940676Z               "line": 358
2026-06-13T11:05:52.7940896Z             },
2026-06-13T11:05:52.7941096Z             {
2026-06-13T11:05:52.7941338Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7941607Z               "line": 370
2026-06-13T11:05:52.7941822Z             },
2026-06-13T11:05:52.7942012Z             {
2026-06-13T11:05:52.7942251Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7942513Z               "line": 383
2026-06-13T11:05:52.7942718Z             },
2026-06-13T11:05:52.7942918Z             {
2026-06-13T11:05:52.7943142Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7943406Z               "line": 394
2026-06-13T11:05:52.7943610Z             },
2026-06-13T11:05:52.7943796Z             {
2026-06-13T11:05:52.7944016Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7944280Z               "line": 411
2026-06-13T11:05:52.7944491Z             },
2026-06-13T11:05:52.7944677Z             {
2026-06-13T11:05:52.7944914Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.7945187Z               "line": 539
2026-06-13T11:05:52.7945407Z             }
2026-06-13T11:05:52.7945602Z           ]
2026-06-13T11:05:52.7945788Z         }
2026-06-13T11:05:52.7945970Z       }
2026-06-13T11:05:52.7946155Z     },
2026-06-13T11:05:52.7946341Z     {
2026-06-13T11:05:52.7946540Z       "id": "REQ-CLI-1",
2026-06-13T11:05:52.7947835Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-13T11:05:52.7949094Z       "requiredStages": [
2026-06-13T11:05:52.7949326Z         "impl",
2026-06-13T11:05:52.7949526Z         "unit"
2026-06-13T11:05:52.7949715Z       ],
2026-06-13T11:05:52.7949916Z       "stages": {
2026-06-13T11:05:52.7950121Z         "doc": {
2026-06-13T11:05:52.7950339Z           "complete": false,
2026-06-13T11:05:52.7950583Z           "evidence": []
2026-06-13T11:05:52.7950793Z         },
2026-06-13T11:05:52.7950993Z         "impl": {
2026-06-13T11:05:52.7951221Z           "complete": true,
2026-06-13T11:05:52.7951442Z           "evidence": [
2026-06-13T11:05:52.7951656Z             {
2026-06-13T11:05:52.7951874Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7952144Z               "line": 200
2026-06-13T11:05:52.7952358Z             },
2026-06-13T11:05:52.7952548Z             {
2026-06-13T11:05:52.7952768Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7953031Z               "line": 864
2026-06-13T11:05:52.7953235Z             },
2026-06-13T11:05:52.7953421Z             {
2026-06-13T11:05:52.7953637Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7953908Z               "line": 1244
2026-06-13T11:05:52.7954122Z             },
2026-06-13T11:05:52.7954309Z             {
2026-06-13T11:05:52.7954533Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7954898Z               "line": 2447
2026-06-13T11:05:52.7955113Z             }
2026-06-13T11:05:52.7955314Z           ]
2026-06-13T11:05:52.7955504Z         },
2026-06-13T11:05:52.7955690Z         "int": {
2026-06-13T11:05:52.7955905Z           "complete": false,
2026-06-13T11:05:52.7956133Z           "evidence": []
2026-06-13T11:05:52.7956453Z         },
2026-06-13T11:05:52.7956648Z         "unit": {
2026-06-13T11:05:52.7956855Z           "complete": true,
2026-06-13T11:05:52.7957081Z           "evidence": [
2026-06-13T11:05:52.7957294Z             {
2026-06-13T11:05:52.7957513Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7957775Z               "line": 5811
2026-06-13T11:05:52.7957989Z             }
2026-06-13T11:05:52.7958172Z           ]
2026-06-13T11:05:52.7958361Z         }
2026-06-13T11:05:52.7958548Z       }
2026-06-13T11:05:52.7958734Z     },
2026-06-13T11:05:52.7958919Z     {
2026-06-13T11:05:52.7959205Z       "id": "REQ-CLI-2",
2026-06-13T11:05:52.7960086Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-13T11:05:52.7960938Z       "requiredStages": [
2026-06-13T11:05:52.7961181Z         "impl",
2026-06-13T11:05:52.7961387Z         "unit"
2026-06-13T11:05:52.7961577Z       ],
2026-06-13T11:05:52.7961762Z       "stages": {
2026-06-13T11:05:52.7961969Z         "doc": {
2026-06-13T11:05:52.7962177Z           "complete": false,
2026-06-13T11:05:52.7962406Z           "evidence": []
2026-06-13T11:05:52.7962634Z         },
2026-06-13T11:05:52.7962832Z         "impl": {
2026-06-13T11:05:52.7963052Z           "complete": true,
2026-06-13T11:05:52.7963277Z           "evidence": [
2026-06-13T11:05:52.7963490Z             {
2026-06-13T11:05:52.7963733Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.7964025Z               "line": 345
2026-06-13T11:05:52.7964240Z             },
2026-06-13T11:05:52.7964439Z             {
2026-06-13T11:05:52.7964692Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-13T11:05:52.7964977Z               "line": 78
2026-06-13T11:05:52.7965189Z             },
2026-06-13T11:05:52.7965391Z             {
2026-06-13T11:05:52.7965640Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T11:05:52.7965912Z               "line": 239
2026-06-13T11:05:52.7966141Z             },
2026-06-13T11:05:52.7966340Z             {
2026-06-13T11:05:52.7966574Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7966837Z               "line": 358
2026-06-13T11:05:52.7967038Z             },
2026-06-13T11:05:52.7967241Z             {
2026-06-13T11:05:52.7967466Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7967727Z               "line": 908
2026-06-13T11:05:52.7967943Z             },
2026-06-13T11:05:52.7968145Z             {
2026-06-13T11:05:52.7975890Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7976209Z               "line": 1435
2026-06-13T11:05:52.7976448Z             },
2026-06-13T11:05:52.7976653Z             {
2026-06-13T11:05:52.7976881Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7977153Z               "line": 1514
2026-06-13T11:05:52.7977387Z             },
2026-06-13T11:05:52.7977588Z             {
2026-06-13T11:05:52.7977816Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7978087Z               "line": 1575
2026-06-13T11:05:52.7978311Z             }
2026-06-13T11:05:52.7978513Z           ]
2026-06-13T11:05:52.7978710Z         },
2026-06-13T11:05:52.7978905Z         "int": {
2026-06-13T11:05:52.7979201Z           "complete": false,
2026-06-13T11:05:52.7979448Z           "evidence": []
2026-06-13T11:05:52.7979687Z         },
2026-06-13T11:05:52.7979888Z         "unit": {
2026-06-13T11:05:52.7980115Z           "complete": true,
2026-06-13T11:05:52.7980518Z           "evidence": [
2026-06-13T11:05:52.7980731Z             {
2026-06-13T11:05:52.7980983Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T11:05:52.7981281Z               "line": 309
2026-06-13T11:05:52.7981500Z             },
2026-06-13T11:05:52.7981704Z             {
2026-06-13T11:05:52.7981934Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7982339Z               "line": 5949
2026-06-13T11:05:52.7982559Z             }
2026-06-13T11:05:52.7982760Z           ]
2026-06-13T11:05:52.7982955Z         }
2026-06-13T11:05:52.7983151Z       }
2026-06-13T11:05:52.7983337Z     },
2026-06-13T11:05:52.7983526Z     {
2026-06-13T11:05:52.7983730Z       "id": "REQ-CLI-3",
2026-06-13T11:05:52.7984629Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-13T11:05:52.7985488Z       "requiredStages": [
2026-06-13T11:05:52.7985717Z         "impl",
2026-06-13T11:05:52.7985923Z         "unit"
2026-06-13T11:05:52.7986122Z       ],
2026-06-13T11:05:52.7986319Z       "stages": {
2026-06-13T11:05:52.7986526Z         "doc": {
2026-06-13T11:05:52.7986732Z           "complete": false,
2026-06-13T11:05:52.7986994Z           "evidence": []
2026-06-13T11:05:52.7987214Z         },
2026-06-13T11:05:52.7987417Z         "impl": {
2026-06-13T11:05:52.7987642Z           "complete": true,
2026-06-13T11:05:52.7987876Z           "evidence": [
2026-06-13T11:05:52.7988100Z             {
2026-06-13T11:05:52.7988314Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7988582Z               "line": 858
2026-06-13T11:05:52.7988805Z             }
2026-06-13T11:05:52.7989069Z           ]
2026-06-13T11:05:52.7989275Z         },
2026-06-13T11:05:52.7989479Z         "int": {
2026-06-13T11:05:52.7989684Z           "complete": false,
2026-06-13T11:05:52.7989919Z           "evidence": []
2026-06-13T11:05:52.7990134Z         },
2026-06-13T11:05:52.7990318Z         "unit": {
2026-06-13T11:05:52.7990528Z           "complete": true,
2026-06-13T11:05:52.7990754Z           "evidence": [
2026-06-13T11:05:52.7990967Z             {
2026-06-13T11:05:52.7991190Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.7991454Z               "line": 5776
2026-06-13T11:05:52.7991667Z             }
2026-06-13T11:05:52.7991865Z           ]
2026-06-13T11:05:52.7992042Z         }
2026-06-13T11:05:52.7992232Z       }
2026-06-13T11:05:52.7992414Z     },
2026-06-13T11:05:52.7992603Z     {
2026-06-13T11:05:52.7992805Z       "id": "REQ-CONSENT-1",
2026-06-13T11:05:52.7993882Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-13T11:05:52.7994914Z       "requiredStages": [
2026-06-13T11:05:52.7995156Z         "impl",
2026-06-13T11:05:52.7995362Z         "unit"
2026-06-13T11:05:52.7995558Z       ],
2026-06-13T11:05:52.7995757Z       "stages": {
2026-06-13T11:05:52.7995967Z         "doc": {
2026-06-13T11:05:52.7996173Z           "complete": false,
2026-06-13T11:05:52.7996420Z           "evidence": []
2026-06-13T11:05:52.7996634Z         },
2026-06-13T11:05:52.7996822Z         "impl": {
2026-06-13T11:05:52.7997029Z           "complete": true,
2026-06-13T11:05:52.7997269Z           "evidence": [
2026-06-13T11:05:52.7997482Z             {
2026-06-13T11:05:52.7997730Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.7998011Z               "line": 27
2026-06-13T11:05:52.7998226Z             },
2026-06-13T11:05:52.7998422Z             {
2026-06-13T11:05:52.7998669Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.7998999Z               "line": 75
2026-06-13T11:05:52.7999335Z             },
2026-06-13T11:05:52.7999543Z             {
2026-06-13T11:05:52.7999792Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8000078Z               "line": 98
2026-06-13T11:05:52.8000301Z             },
2026-06-13T11:05:52.8000497Z             {
2026-06-13T11:05:52.8000831Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T11:05:52.8001107Z               "line": 82
2026-06-13T11:05:52.8001318Z             },
2026-06-13T11:05:52.8001517Z             {
2026-06-13T11:05:52.8001755Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T11:05:52.8002042Z               "line": 109
2026-06-13T11:05:52.8002260Z             },
2026-06-13T11:05:52.8002458Z             {
2026-06-13T11:05:52.8002693Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T11:05:52.8002969Z               "line": 127
2026-06-13T11:05:52.8003188Z             },
2026-06-13T11:05:52.8003383Z             {
2026-06-13T11:05:52.8003622Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T11:05:52.8003900Z               "line": 142
2026-06-13T11:05:52.8004117Z             },
2026-06-13T11:05:52.8004308Z             {
2026-06-13T11:05:52.8004529Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8004798Z               "line": 5413
2026-06-13T11:05:52.8005025Z             }
2026-06-13T11:05:52.8005221Z           ]
2026-06-13T11:05:52.8005421Z         },
2026-06-13T11:05:52.8005621Z         "int": {
2026-06-13T11:05:52.8005841Z           "complete": false,
2026-06-13T11:05:52.8006074Z           "evidence": []
2026-06-13T11:05:52.8006293Z         },
2026-06-13T11:05:52.8006489Z         "unit": {
2026-06-13T11:05:52.8006699Z           "complete": true,
2026-06-13T11:05:52.8006933Z           "evidence": [
2026-06-13T11:05:52.8007143Z             {
2026-06-13T11:05:52.8007387Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8007670Z               "line": 334
2026-06-13T11:05:52.8007894Z             },
2026-06-13T11:05:52.8008091Z             {
2026-06-13T11:05:52.8008334Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8008615Z               "line": 380
2026-06-13T11:05:52.8008839Z             },
2026-06-13T11:05:52.8009096Z             {
2026-06-13T11:05:52.8009335Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8009627Z               "line": 391
2026-06-13T11:05:52.8009844Z             },
2026-06-13T11:05:52.8010043Z             {
2026-06-13T11:05:52.8010280Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T11:05:52.8010552Z               "line": 165
2026-06-13T11:05:52.8010766Z             },
2026-06-13T11:05:52.8010963Z             {
2026-06-13T11:05:52.8011196Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T11:05:52.8011472Z               "line": 184
2026-06-13T11:05:52.8011682Z             },
2026-06-13T11:05:52.8011874Z             {
2026-06-13T11:05:52.8012101Z               "path": "crates/spt-store/src/grants.rs",
2026-06-13T11:05:52.8012369Z               "line": 204
2026-06-13T11:05:52.8012584Z             },
2026-06-13T11:05:52.8012777Z             {
2026-06-13T11:05:52.8013004Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8013267Z               "line": 6129
2026-06-13T11:05:52.8013487Z             }
2026-06-13T11:05:52.8013690Z           ]
2026-06-13T11:05:52.8013882Z         }
2026-06-13T11:05:52.8014068Z       }
2026-06-13T11:05:52.8014254Z     },
2026-06-13T11:05:52.8014441Z     {
2026-06-13T11:05:52.8014649Z       "id": "REQ-CONSENT-2",
2026-06-13T11:05:52.8015752Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-13T11:05:52.8016716Z       "requiredStages": [
2026-06-13T11:05:52.8017049Z         "impl",
2026-06-13T11:05:52.8017254Z         "unit"
2026-06-13T11:05:52.8017454Z       ],
2026-06-13T11:05:52.8017647Z       "stages": {
2026-06-13T11:05:52.8017860Z         "doc": {
2026-06-13T11:05:52.8018074Z           "complete": false,
2026-06-13T11:05:52.8018307Z           "evidence": []
2026-06-13T11:05:52.8018627Z         },
2026-06-13T11:05:52.8018831Z         "impl": {
2026-06-13T11:05:52.8019113Z           "complete": true,
2026-06-13T11:05:52.8019337Z           "evidence": [
2026-06-13T11:05:52.8019553Z             {
2026-06-13T11:05:52.8019799Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8020081Z               "line": 140
2026-06-13T11:05:52.8020295Z             },
2026-06-13T11:05:52.8020485Z             {
2026-06-13T11:05:52.8020716Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8021002Z               "line": 165
2026-06-13T11:05:52.8021218Z             },
2026-06-13T11:05:52.8021422Z             {
2026-06-13T11:05:52.8021669Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8021951Z               "line": 199
2026-06-13T11:05:52.8022167Z             },
2026-06-13T11:05:52.8022356Z             {
2026-06-13T11:05:52.8022585Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8022862Z               "line": 241
2026-06-13T11:05:52.8023068Z             },
2026-06-13T11:05:52.8023261Z             {
2026-06-13T11:05:52.8023494Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8023770Z               "line": 269
2026-06-13T11:05:52.8023974Z             },
2026-06-13T11:05:52.8024166Z             {
2026-06-13T11:05:52.8024390Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8024661Z               "line": 300
2026-06-13T11:05:52.8024875Z             },
2026-06-13T11:05:52.8025071Z             {
2026-06-13T11:05:52.8025287Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8025558Z               "line": 5278
2026-06-13T11:05:52.8025776Z             },
2026-06-13T11:05:52.8025976Z             {
2026-06-13T11:05:52.8026192Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8026450Z               "line": 5336
2026-06-13T11:05:52.8026666Z             }
2026-06-13T11:05:52.8026860Z           ]
2026-06-13T11:05:52.8027051Z         },
2026-06-13T11:05:52.8027243Z         "int": {
2026-06-13T11:05:52.8027452Z           "complete": false,
2026-06-13T11:05:52.8027695Z           "evidence": []
2026-06-13T11:05:52.8027911Z         },
2026-06-13T11:05:52.8028105Z         "unit": {
2026-06-13T11:05:52.8028319Z           "complete": true,
2026-06-13T11:05:52.8028545Z           "evidence": [
2026-06-13T11:05:52.8028752Z             {
2026-06-13T11:05:52.8029038Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8029324Z               "line": 419
2026-06-13T11:05:52.8029540Z             },
2026-06-13T11:05:52.8029730Z             {
2026-06-13T11:05:52.8029950Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8030226Z               "line": 436
2026-06-13T11:05:52.8030428Z             },
2026-06-13T11:05:52.8030617Z             {
2026-06-13T11:05:52.8030846Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8031121Z               "line": 472
2026-06-13T11:05:52.8031347Z             },
2026-06-13T11:05:52.8031544Z             {
2026-06-13T11:05:52.8031754Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.8032031Z               "line": 516
2026-06-13T11:05:52.8032234Z             },
2026-06-13T11:05:52.8032421Z             {
2026-06-13T11:05:52.8032635Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8032897Z               "line": 7196
2026-06-13T11:05:52.8033112Z             },
2026-06-13T11:05:52.8033314Z             {
2026-06-13T11:05:52.8033531Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8033802Z               "line": 7278
2026-06-13T11:05:52.8034017Z             }
2026-06-13T11:05:52.8034321Z           ]
2026-06-13T11:05:52.8034520Z         }
2026-06-13T11:05:52.8034712Z       }
2026-06-13T11:05:52.8034898Z     },
2026-06-13T11:05:52.8035088Z     {
2026-06-13T11:05:52.8035289Z       "id": "REQ-CONV-1",
2026-06-13T11:05:52.8037010Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-13T11:05:52.8038442Z       "requiredStages": [
2026-06-13T11:05:52.8038665Z         "impl",
2026-06-13T11:05:52.8038869Z         "unit"
2026-06-13T11:05:52.8039203Z       ],
2026-06-13T11:05:52.8039399Z       "stages": {
2026-06-13T11:05:52.8039608Z         "doc": {
2026-06-13T11:05:52.8039809Z           "complete": false,
2026-06-13T11:05:52.8040043Z           "evidence": []
2026-06-13T11:05:52.8040252Z         },
2026-06-13T11:05:52.8040453Z         "impl": {
2026-06-13T11:05:52.8040668Z           "complete": true,
2026-06-13T11:05:52.8040896Z           "evidence": [
2026-06-13T11:05:52.8041115Z             {
2026-06-13T11:05:52.8041350Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8041639Z               "line": 696
2026-06-13T11:05:52.8041850Z             },
2026-06-13T11:05:52.8042038Z             {
2026-06-13T11:05:52.8042280Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.8042571Z               "line": 94
2026-06-13T11:05:52.8042785Z             },
2026-06-13T11:05:52.8042976Z             {
2026-06-13T11:05:52.8043210Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.8043486Z               "line": 345
2026-06-13T11:05:52.8043700Z             },
2026-06-13T11:05:52.8043902Z             {
2026-06-13T11:05:52.8044140Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.8044415Z               "line": 387
2026-06-13T11:05:52.8044628Z             },
2026-06-13T11:05:52.8044823Z             {
2026-06-13T11:05:52.8045056Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.8045338Z               "line": 472
2026-06-13T11:05:52.8045553Z             },
2026-06-13T11:05:52.8045743Z             {
2026-06-13T11:05:52.8045977Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8046262Z               "line": 667
2026-06-13T11:05:52.8046474Z             },
2026-06-13T11:05:52.8046668Z             {
2026-06-13T11:05:52.8046906Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8047190Z               "line": 693
2026-06-13T11:05:52.8047399Z             },
2026-06-13T11:05:52.8047599Z             {
2026-06-13T11:05:52.8047843Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.8048138Z               "line": 369
2026-06-13T11:05:52.8048358Z             },
2026-06-13T11:05:52.8048567Z             {
2026-06-13T11:05:52.8048806Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-13T11:05:52.8049163Z               "line": 19
2026-06-13T11:05:52.8049379Z             }
2026-06-13T11:05:52.8049584Z           ]
2026-06-13T11:05:52.8049777Z         },
2026-06-13T11:05:52.8049978Z         "int": {
2026-06-13T11:05:52.8050206Z           "complete": false,
2026-06-13T11:05:52.8050440Z           "evidence": []
2026-06-13T11:05:52.8050655Z         },
2026-06-13T11:05:52.8050845Z         "unit": {
2026-06-13T11:05:52.8051060Z           "complete": true,
2026-06-13T11:05:52.8051294Z           "evidence": [
2026-06-13T11:05:52.8051504Z             {
2026-06-13T11:05:52.8051746Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8052037Z               "line": 1263
2026-06-13T11:05:52.8052251Z             },
2026-06-13T11:05:52.8052564Z             {
2026-06-13T11:05:52.8052806Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-13T11:05:52.8053087Z               "line": 108
2026-06-13T11:05:52.8053293Z             },
2026-06-13T11:05:52.8053485Z             {
2026-06-13T11:05:52.8053722Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-13T11:05:52.8054095Z               "line": 134
2026-06-13T11:05:52.8054318Z             },
2026-06-13T11:05:52.8054514Z             {
2026-06-13T11:05:52.8054754Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-13T11:05:52.8055037Z               "line": 144
2026-06-13T11:05:52.8055254Z             }
2026-06-13T11:05:52.8055441Z           ]
2026-06-13T11:05:52.8055630Z         }
2026-06-13T11:05:52.8055827Z       }
2026-06-13T11:05:52.8056013Z     },
2026-06-13T11:05:52.8056212Z     {
2026-06-13T11:05:52.8056409Z       "id": "REQ-CONV-2",
2026-06-13T11:05:52.8057685Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-13T11:05:52.8058756Z       "requiredStages": [
2026-06-13T11:05:52.8059061Z         "impl",
2026-06-13T11:05:52.8059272Z         "unit"
2026-06-13T11:05:52.8110338Z       ],
2026-06-13T11:05:52.8110842Z       "stages": {
2026-06-13T11:05:52.8111080Z         "doc": {
2026-06-13T11:05:52.8111331Z           "complete": false,
2026-06-13T11:05:52.8111584Z           "evidence": []
2026-06-13T11:05:52.8111809Z         },
2026-06-13T11:05:52.8112010Z         "impl": {
2026-06-13T11:05:52.8112223Z           "complete": true,
2026-06-13T11:05:52.8112462Z           "evidence": [
2026-06-13T11:05:52.8112697Z             {
2026-06-13T11:05:52.8112940Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8113281Z               "line": 359
2026-06-13T11:05:52.8113500Z             },
2026-06-13T11:05:52.8113702Z             {
2026-06-13T11:05:52.8113950Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T11:05:52.8114235Z               "line": 119
2026-06-13T11:05:52.8114449Z             },
2026-06-13T11:05:52.8114650Z             {
2026-06-13T11:05:52.8114894Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8115184Z               "line": 789
2026-06-13T11:05:52.8115398Z             },
2026-06-13T11:05:52.8115583Z             {
2026-06-13T11:05:52.8115829Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8116114Z               "line": 800
2026-06-13T11:05:52.8116330Z             },
2026-06-13T11:05:52.8116526Z             {
2026-06-13T11:05:52.8116758Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.8117035Z               "line": 334
2026-06-13T11:05:52.8117255Z             },
2026-06-13T11:05:52.8117456Z             {
2026-06-13T11:05:52.8117674Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8117931Z               "line": 2402
2026-06-13T11:05:52.8118147Z             },
2026-06-13T11:05:52.8118345Z             {
2026-06-13T11:05:52.8118572Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8118835Z               "line": 2418
2026-06-13T11:05:52.8119436Z             },
2026-06-13T11:05:52.8119645Z             {
2026-06-13T11:05:52.8119865Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8120122Z               "line": 2475
2026-06-13T11:05:52.8120338Z             }
2026-06-13T11:05:52.8120537Z           ]
2026-06-13T11:05:52.8120733Z         },
2026-06-13T11:05:52.8120930Z         "int": {
2026-06-13T11:05:52.8121153Z           "complete": false,
2026-06-13T11:05:52.8121392Z           "evidence": []
2026-06-13T11:05:52.8121616Z         },
2026-06-13T11:05:52.8121863Z         "unit": {
2026-06-13T11:05:52.8122112Z           "complete": true,
2026-06-13T11:05:52.8122642Z           "evidence": [
2026-06-13T11:05:52.8122860Z             {
2026-06-13T11:05:52.8123108Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8123394Z               "line": 889
2026-06-13T11:05:52.8123605Z             },
2026-06-13T11:05:52.8123812Z             {
2026-06-13T11:05:52.8124175Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8124456Z               "line": 1014
2026-06-13T11:05:52.8124666Z             },
2026-06-13T11:05:52.8124867Z             {
2026-06-13T11:05:52.8125120Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T11:05:52.8125410Z               "line": 215
2026-06-13T11:05:52.8125629Z             }
2026-06-13T11:05:52.8125835Z           ]
2026-06-13T11:05:52.8126024Z         }
2026-06-13T11:05:52.8126218Z       }
2026-06-13T11:05:52.8126403Z     },
2026-06-13T11:05:52.8126589Z     {
2026-06-13T11:05:52.8126795Z       "id": "REQ-DAEMON-1",
2026-06-13T11:05:52.8127114Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-13T11:05:52.8127453Z       "requiredStages": [
2026-06-13T11:05:52.8127677Z         "impl",
2026-06-13T11:05:52.8127886Z         "unit",
2026-06-13T11:05:52.8128087Z         "int"
2026-06-13T11:05:52.8128282Z       ],
2026-06-13T11:05:52.8128477Z       "stages": {
2026-06-13T11:05:52.8128693Z         "doc": {
2026-06-13T11:05:52.8128915Z           "complete": false,
2026-06-13T11:05:52.8129232Z           "evidence": []
2026-06-13T11:05:52.8129466Z         },
2026-06-13T11:05:52.8129667Z         "impl": {
2026-06-13T11:05:52.8129875Z           "complete": true,
2026-06-13T11:05:52.8130105Z           "evidence": [
2026-06-13T11:05:52.8130311Z             {
2026-06-13T11:05:52.8130548Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:52.8130839Z               "line": 12
2026-06-13T11:05:52.8131058Z             },
2026-06-13T11:05:52.8131265Z             {
2026-06-13T11:05:52.8131515Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8131822Z               "line": 16
2026-06-13T11:05:52.8132037Z             },
2026-06-13T11:05:52.8132239Z             {
2026-06-13T11:05:52.8132476Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8132767Z               "line": 259
2026-06-13T11:05:52.8132987Z             },
2026-06-13T11:05:52.8133183Z             {
2026-06-13T11:05:52.8133415Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-13T11:05:52.8133692Z               "line": 15
2026-06-13T11:05:52.8133911Z             },
2026-06-13T11:05:52.8134113Z             {
2026-06-13T11:05:52.8134344Z               "path": "crates/spt/src/api/live.rs",
2026-06-13T11:05:52.8134620Z               "line": 13
2026-06-13T11:05:52.8134840Z             }
2026-06-13T11:05:52.8135031Z           ]
2026-06-13T11:05:52.8135222Z         },
2026-06-13T11:05:52.8135413Z         "int": {
2026-06-13T11:05:52.8135632Z           "complete": true,
2026-06-13T11:05:52.8135870Z           "evidence": [
2026-06-13T11:05:52.8136081Z             {
2026-06-13T11:05:52.8136329Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-13T11:05:52.8136612Z               "line": 32
2026-06-13T11:05:52.8136830Z             }
2026-06-13T11:05:52.8137026Z           ]
2026-06-13T11:05:52.8137220Z         },
2026-06-13T11:05:52.8137417Z         "unit": {
2026-06-13T11:05:52.8137642Z           "complete": true,
2026-06-13T11:05:52.8137898Z           "evidence": [
2026-06-13T11:05:52.8138112Z             {
2026-06-13T11:05:52.8138346Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:52.8138628Z               "line": 285
2026-06-13T11:05:52.8138842Z             },
2026-06-13T11:05:52.8139305Z             {
2026-06-13T11:05:52.8139726Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:52.8140041Z               "line": 293
2026-06-13T11:05:52.8140275Z             },
2026-06-13T11:05:52.8140474Z             {
2026-06-13T11:05:52.8140942Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:52.8141238Z               "line": 309
2026-06-13T11:05:52.8141458Z             },
2026-06-13T11:05:52.8141704Z             {
2026-06-13T11:05:52.8141952Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:52.8142245Z               "line": 317
2026-06-13T11:05:52.8142593Z             },
2026-06-13T11:05:52.8142794Z             {
2026-06-13T11:05:52.8143036Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8143327Z               "line": 609
2026-06-13T11:05:52.8143537Z             },
2026-06-13T11:05:52.8143733Z             {
2026-06-13T11:05:52.8143971Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8144257Z               "line": 679
2026-06-13T11:05:52.8144471Z             },
2026-06-13T11:05:52.8144659Z             {
2026-06-13T11:05:52.8144895Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-13T11:05:52.8145162Z               "line": 104
2026-06-13T11:05:52.8145377Z             },
2026-06-13T11:05:52.8145562Z             {
2026-06-13T11:05:52.8145791Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-13T11:05:52.8146058Z               "line": 129
2026-06-13T11:05:52.8146163Z             }
2026-06-13T11:05:52.8146264Z           ]
2026-06-13T11:05:52.8146373Z         }
2026-06-13T11:05:52.8146478Z       }
2026-06-13T11:05:52.8146579Z     },
2026-06-13T11:05:52.8146678Z     {
2026-06-13T11:05:52.8146792Z       "id": "REQ-DAEMON-2",
2026-06-13T11:05:52.8146966Z       "title": "Broker/brain split for seamless self-update",
2026-06-13T11:05:52.8147078Z       "requiredStages": [
2026-06-13T11:05:52.8147182Z         "impl",
2026-06-13T11:05:52.8147283Z         "unit",
2026-06-13T11:05:52.8147385Z         "int"
2026-06-13T11:05:52.8147489Z       ],
2026-06-13T11:05:52.8147591Z       "stages": {
2026-06-13T11:05:52.8147690Z         "doc": {
2026-06-13T11:05:52.8147814Z           "complete": true,
2026-06-13T11:05:52.8147920Z           "evidence": [
2026-06-13T11:05:52.8148029Z             {
2026-06-13T11:05:52.8148207Z               "path": "docs/TWO-HOST-RUNBOOK.md",
2026-06-13T11:05:52.8148325Z               "line": 250
2026-06-13T11:05:52.8148425Z             }
2026-06-13T11:05:52.8148531Z           ]
2026-06-13T11:05:52.8148630Z         },
2026-06-13T11:05:52.8148734Z         "impl": {
2026-06-13T11:05:52.8148855Z           "complete": true,
2026-06-13T11:05:52.8149030Z           "evidence": [
2026-06-13T11:05:52.8149131Z             {
2026-06-13T11:05:52.8149292Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8149397Z               "line": 23
2026-06-13T11:05:52.8149499Z             },
2026-06-13T11:05:52.8149597Z             {
2026-06-13T11:05:52.8149737Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8149851Z               "line": 730
2026-06-13T11:05:52.8149950Z             },
2026-06-13T11:05:52.8150054Z             {
2026-06-13T11:05:52.8150192Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8150305Z               "line": 783
2026-06-13T11:05:52.8150410Z             },
2026-06-13T11:05:52.8150506Z             {
2026-06-13T11:05:52.8150643Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8150754Z               "line": 968
2026-06-13T11:05:52.8150863Z             },
2026-06-13T11:05:52.8150972Z             {
2026-06-13T11:05:52.8151111Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8151211Z               "line": 32
2026-06-13T11:05:52.8151320Z             },
2026-06-13T11:05:52.8151421Z             {
2026-06-13T11:05:52.8151564Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8151669Z               "line": 255
2026-06-13T11:05:52.8151769Z             },
2026-06-13T11:05:52.8151873Z             {
2026-06-13T11:05:52.8152018Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8152131Z               "line": 687
2026-06-13T11:05:52.8152323Z             },
2026-06-13T11:05:52.8152423Z             {
2026-06-13T11:05:52.8152564Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8152664Z               "line": 953
2026-06-13T11:05:52.8152768Z             },
2026-06-13T11:05:52.8152871Z             {
2026-06-13T11:05:52.8153015Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-13T11:05:52.8153214Z               "line": 11
2026-06-13T11:05:52.8153392Z             },
2026-06-13T11:05:52.8153520Z             {
2026-06-13T11:05:52.8153853Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8153993Z               "line": 146
2026-06-13T11:05:52.8154149Z             },
2026-06-13T11:05:52.8154308Z             {
2026-06-13T11:05:52.8154478Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8154712Z               "line": 274
2026-06-13T11:05:52.8154841Z             },
2026-06-13T11:05:52.8155003Z             {
2026-06-13T11:05:52.8155156Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T11:05:52.8155337Z               "line": 13
2026-06-13T11:05:52.8155546Z             },
2026-06-13T11:05:52.8155671Z             {
2026-06-13T11:05:52.8155875Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8156009Z               "line": 27
2026-06-13T11:05:52.8156176Z             },
2026-06-13T11:05:52.8156394Z             {
2026-06-13T11:05:52.8156562Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8156727Z               "line": 109
2026-06-13T11:05:52.8156872Z             },
2026-06-13T11:05:52.8157019Z             {
2026-06-13T11:05:52.8157225Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8157526Z               "line": 447
2026-06-13T11:05:52.8157686Z             },
2026-06-13T11:05:52.8157829Z             {
2026-06-13T11:05:52.8158017Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8158184Z               "line": 614
2026-06-13T11:05:52.8158364Z             },
2026-06-13T11:05:52.8158494Z             {
2026-06-13T11:05:52.8158713Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8158866Z               "line": 715
2026-06-13T11:05:52.8159110Z             },
2026-06-13T11:05:52.8159309Z             {
2026-06-13T11:05:52.8159481Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8159672Z               "line": 764
2026-06-13T11:05:52.8159819Z             },
2026-06-13T11:05:52.8159982Z             {
2026-06-13T11:05:52.8160201Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8160350Z               "line": 812
2026-06-13T11:05:52.8160510Z             },
2026-06-13T11:05:52.8160639Z             {
2026-06-13T11:05:52.8160874Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-13T11:05:52.8161052Z               "line": 10
2026-06-13T11:05:52.8161194Z             }
2026-06-13T11:05:52.8161357Z           ]
2026-06-13T11:05:52.8161480Z         },
2026-06-13T11:05:52.8161671Z         "int": {
2026-06-13T11:05:52.8161828Z           "complete": true,
2026-06-13T11:05:52.8162015Z           "evidence": [
2026-06-13T11:05:52.8162172Z             {
2026-06-13T11:05:52.8162348Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-13T11:05:52.8162539Z               "line": 17
2026-06-13T11:05:52.8162691Z             },
2026-06-13T11:05:52.8162864Z             {
2026-06-13T11:05:52.8163077Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-13T11:05:52.8163214Z               "line": 71
2026-06-13T11:05:52.8163399Z             },
2026-06-13T11:05:52.8163556Z             {
2026-06-13T11:05:52.8163765Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-13T11:05:52.8163900Z               "line": 91
2026-06-13T11:05:52.8164061Z             },
2026-06-13T11:05:52.8164243Z             {
2026-06-13T11:05:52.8164691Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-13T11:05:52.8164853Z               "line": 167
2026-06-13T11:05:52.8165101Z             },
2026-06-13T11:05:52.8165268Z             {
2026-06-13T11:05:52.8165517Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-13T11:05:52.8165668Z               "line": 209
2026-06-13T11:05:52.8165826Z             },
2026-06-13T11:05:52.8165954Z             {
2026-06-13T11:05:52.8166273Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-13T11:05:52.8166406Z               "line": 128
2026-06-13T11:05:52.8166620Z             },
2026-06-13T11:05:52.8166784Z             {
2026-06-13T11:05:52.8166959Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-13T11:05:52.8167141Z               "line": 59
2026-06-13T11:05:52.8167260Z             }
2026-06-13T11:05:52.8167470Z           ]
2026-06-13T11:05:52.8167598Z         },
2026-06-13T11:05:52.8167761Z         "unit": {
2026-06-13T11:05:52.8167941Z           "complete": true,
2026-06-13T11:05:52.8168062Z           "evidence": [
2026-06-13T11:05:52.8168279Z             {
2026-06-13T11:05:52.8168459Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-13T11:05:52.8168629Z               "line": 62
2026-06-13T11:05:52.8168793Z             },
2026-06-13T11:05:52.8168911Z             {
2026-06-13T11:05:52.8169263Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-13T11:05:52.8169402Z               "line": 76
2026-06-13T11:05:52.8169588Z             },
2026-06-13T11:05:52.8169717Z             {
2026-06-13T11:05:52.8169893Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-13T11:05:52.8170108Z               "line": 88
2026-06-13T11:05:52.8170232Z             },
2026-06-13T11:05:52.8170398Z             {
2026-06-13T11:05:52.8170571Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T11:05:52.8170727Z               "line": 294
2026-06-13T11:05:52.8170900Z             },
2026-06-13T11:05:52.8171070Z             {
2026-06-13T11:05:52.8171280Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T11:05:52.8171420Z               "line": 620
2026-06-13T11:05:52.8171568Z             },
2026-06-13T11:05:52.8171735Z             {
2026-06-13T11:05:52.8171969Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T11:05:52.8172135Z               "line": 628
2026-06-13T11:05:52.8172255Z             },
2026-06-13T11:05:52.8172407Z             {
2026-06-13T11:05:52.8172603Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T11:05:52.8172804Z               "line": 645
2026-06-13T11:05:52.8172927Z             },
2026-06-13T11:05:52.8173084Z             {
2026-06-13T11:05:52.8173256Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T11:05:52.8173434Z               "line": 699
2026-06-13T11:05:52.8173628Z             },
2026-06-13T11:05:52.8173756Z             {
2026-06-13T11:05:52.8173959Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8174097Z               "line": 883
2026-06-13T11:05:52.8174278Z             },
2026-06-13T11:05:52.8174464Z             {
2026-06-13T11:05:52.8174635Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8174807Z               "line": 895
2026-06-13T11:05:52.8174931Z             },
2026-06-13T11:05:52.8175113Z             {
2026-06-13T11:05:52.8175341Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-13T11:05:52.8175470Z               "line": 110
2026-06-13T11:05:52.8175637Z             },
2026-06-13T11:05:52.8175762Z             {
2026-06-13T11:05:52.8176000Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-13T11:05:52.8176142Z               "line": 142
2026-06-13T11:05:52.8176296Z             }
2026-06-13T11:05:52.8176448Z           ]
2026-06-13T11:05:52.8176579Z         }
2026-06-13T11:05:52.8176786Z       }
2026-06-13T11:05:52.8176933Z     },
2026-06-13T11:05:52.8177095Z     {
2026-06-13T11:05:52.8177237Z       "id": "REQ-DAEMON-3",
2026-06-13T11:05:52.8177481Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-13T11:05:52.8177696Z       "requiredStages": [
2026-06-13T11:05:52.8177954Z         "impl",
2026-06-13T11:05:52.8178594Z         "unit",
2026-06-13T11:05:52.8178716Z         "int"
2026-06-13T11:05:52.8178882Z       ],
2026-06-13T11:05:52.8179170Z       "stages": {
2026-06-13T11:05:52.8179329Z         "doc": {
2026-06-13T11:05:52.8179499Z           "complete": false,
2026-06-13T11:05:52.8179756Z           "evidence": []
2026-06-13T11:05:52.8179911Z         },
2026-06-13T11:05:52.8180034Z         "impl": {
2026-06-13T11:05:52.8180263Z           "complete": true,
2026-06-13T11:05:52.8180434Z           "evidence": [
2026-06-13T11:05:52.8180554Z             {
2026-06-13T11:05:52.8180763Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8180884Z               "line": 14
2026-06-13T11:05:52.8181092Z             },
2026-06-13T11:05:52.8181222Z             {
2026-06-13T11:05:52.8181446Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-13T11:05:52.8181607Z               "line": 11
2026-06-13T11:05:52.8181720Z             },
2026-06-13T11:05:52.8181924Z             {
2026-06-13T11:05:52.8182105Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T11:05:52.8182271Z               "line": 262
2026-06-13T11:05:52.8182434Z             },
2026-06-13T11:05:52.8182549Z             {
2026-06-13T11:05:52.8182787Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8182943Z               "line": 1433
2026-06-13T11:05:52.8183107Z             },
2026-06-13T11:05:52.8183235Z             {
2026-06-13T11:05:52.8183403Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8183640Z               "line": 3362
2026-06-13T11:05:52.8183765Z             },
2026-06-13T11:05:52.8183926Z             {
2026-06-13T11:05:52.8184085Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8184235Z               "line": 3383
2026-06-13T11:05:52.8184448Z             }
2026-06-13T11:05:52.8184576Z           ]
2026-06-13T11:05:52.8184739Z         },
2026-06-13T11:05:52.8184862Z         "int": {
2026-06-13T11:05:52.8185011Z           "complete": true,
2026-06-13T11:05:52.8185181Z           "evidence": [
2026-06-13T11:05:52.8185368Z             {
2026-06-13T11:05:52.8185567Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T11:05:52.8185706Z               "line": 49
2026-06-13T11:05:52.8185849Z             },
2026-06-13T11:05:52.8186030Z             {
2026-06-13T11:05:52.8186250Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T11:05:52.8186378Z               "line": 439
2026-06-13T11:05:52.8186531Z             }
2026-06-13T11:05:52.8186674Z           ]
2026-06-13T11:05:52.8186846Z         },
2026-06-13T11:05:52.8187031Z         "unit": {
2026-06-13T11:05:52.8187168Z           "complete": true,
2026-06-13T11:05:52.8187332Z           "evidence": [
2026-06-13T11:05:52.8187459Z             {
2026-06-13T11:05:52.8187703Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8187880Z               "line": 767
2026-06-13T11:05:52.8188013Z             },
2026-06-13T11:05:52.8188165Z             {
2026-06-13T11:05:52.8188332Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8188529Z               "line": 8277
2026-06-13T11:05:52.8188695Z             }
2026-06-13T11:05:52.8188820Z           ]
2026-06-13T11:05:52.8189052Z         }
2026-06-13T11:05:52.8189187Z       }
2026-06-13T11:05:52.8189399Z     },
2026-06-13T11:05:52.8189533Z     {
2026-06-13T11:05:52.8189706Z       "id": "REQ-DAEMON-4",
2026-06-13T11:05:52.8189931Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-13T11:05:52.8190074Z       "requiredStages": [
2026-06-13T11:05:52.8190255Z         "impl",
2026-06-13T11:05:52.8190403Z         "unit",
2026-06-13T11:05:52.8190556Z         "int"
2026-06-13T11:05:52.8190674Z       ],
2026-06-13T11:05:52.8190856Z       "stages": {
2026-06-13T11:05:52.8191037Z         "doc": {
2026-06-13T11:05:52.8191194Z           "complete": false,
2026-06-13T11:05:52.8191362Z           "evidence": []
2026-06-13T11:05:52.8191505Z         },
2026-06-13T11:05:52.8191777Z         "impl": {
2026-06-13T11:05:52.8191891Z           "complete": true,
2026-06-13T11:05:52.8192111Z           "evidence": [
2026-06-13T11:05:52.8192276Z             {
2026-06-13T11:05:52.8192456Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8192626Z               "line": 414
2026-06-13T11:05:52.8192832Z             },
2026-06-13T11:05:52.8193061Z             {
2026-06-13T11:05:52.8193265Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8193394Z               "line": 479
2026-06-13T11:05:52.8193551Z             },
2026-06-13T11:05:52.8193667Z             {
2026-06-13T11:05:52.8193934Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8194066Z               "line": 501
2026-06-13T11:05:52.8194219Z             }
2026-06-13T11:05:52.8194376Z           ]
2026-06-13T11:05:52.8194481Z         },
2026-06-13T11:05:52.8194710Z         "int": {
2026-06-13T11:05:52.8194851Z           "complete": true,
2026-06-13T11:05:52.8195018Z           "evidence": [
2026-06-13T11:05:52.8195150Z             {
2026-06-13T11:05:52.8195347Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-13T11:05:52.8195581Z               "line": 37
2026-06-13T11:05:52.8195703Z             }
2026-06-13T11:05:52.8195866Z           ]
2026-06-13T11:05:52.8195995Z         },
2026-06-13T11:05:52.8196137Z         "unit": {
2026-06-13T11:05:52.8196375Z           "complete": true,
2026-06-13T11:05:52.8196510Z           "evidence": [
2026-06-13T11:05:52.8196667Z             {
2026-06-13T11:05:52.8196835Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:52.8197000Z               "line": 428
2026-06-13T11:05:52.8197164Z             },
2026-06-13T11:05:52.8197334Z             {
2026-06-13T11:05:52.8197531Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8197672Z               "line": 907
2026-06-13T11:05:52.8197825Z             },
2026-06-13T11:05:52.8197991Z             {
2026-06-13T11:05:52.8198211Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8198343Z               "line": 977
2026-06-13T11:05:52.8198502Z             },
2026-06-13T11:05:52.8198663Z             {
2026-06-13T11:05:52.8198869Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8199146Z               "line": 1007
2026-06-13T11:05:52.8199288Z             },
2026-06-13T11:05:52.8199455Z             {
2026-06-13T11:05:52.8199641Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8199808Z               "line": 1040
2026-06-13T11:05:52.8199988Z             }
2026-06-13T11:05:52.8200107Z           ]
2026-06-13T11:05:52.8200276Z         }
2026-06-13T11:05:52.8200396Z       }
2026-06-13T11:05:52.8200576Z     },
2026-06-13T11:05:52.8200750Z     {
2026-06-13T11:05:52.8200886Z       "id": "REQ-DAEMON-5",
2026-06-13T11:05:52.8202480Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-13T11:05:52.8202648Z       "requiredStages": [
2026-06-13T11:05:52.8202864Z         "impl",
2026-06-13T11:05:52.8203049Z         "unit"
2026-06-13T11:05:52.8203177Z       ],
2026-06-13T11:05:52.8203354Z       "stages": {
2026-06-13T11:05:52.8203477Z         "doc": {
2026-06-13T11:05:52.8203683Z           "complete": false,
2026-06-13T11:05:52.8203869Z           "evidence": []
2026-06-13T11:05:52.8204008Z         },
2026-06-13T11:05:52.8204164Z         "impl": {
2026-06-13T11:05:52.8204302Z           "complete": true,
2026-06-13T11:05:52.8204499Z           "evidence": [
2026-06-13T11:05:52.8204640Z             {
2026-06-13T11:05:52.8204871Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8205162Z               "line": 476
2026-06-13T11:05:52.8205289Z             },
2026-06-13T11:05:52.8205474Z             {
2026-06-13T11:05:52.8205681Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8205849Z               "line": 769
2026-06-13T11:05:52.8206077Z             },
2026-06-13T11:05:52.8206241Z             {
2026-06-13T11:05:52.8212587Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8212763Z               "line": 782
2026-06-13T11:05:52.8212873Z             },
2026-06-13T11:05:52.8212987Z             {
2026-06-13T11:05:52.8213170Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8213292Z               "line": 800
2026-06-13T11:05:52.8213405Z             },
2026-06-13T11:05:52.8213506Z             {
2026-06-13T11:05:52.8213665Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8213775Z               "line": 841
2026-06-13T11:05:52.8213900Z             }
2026-06-13T11:05:52.8213999Z           ]
2026-06-13T11:05:52.8214105Z         },
2026-06-13T11:05:52.8214214Z         "int": {
2026-06-13T11:05:52.8214332Z           "complete": false,
2026-06-13T11:05:52.8214444Z           "evidence": []
2026-06-13T11:05:52.8214543Z         },
2026-06-13T11:05:52.8214661Z         "unit": {
2026-06-13T11:05:52.8214777Z           "complete": true,
2026-06-13T11:05:52.8214896Z           "evidence": [
2026-06-13T11:05:52.8215001Z             {
2026-06-13T11:05:52.8215149Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8215263Z               "line": 1189
2026-06-13T11:05:52.8215364Z             },
2026-06-13T11:05:52.8215474Z             {
2026-06-13T11:05:52.8215620Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8215736Z               "line": 1213
2026-06-13T11:05:52.8215840Z             },
2026-06-13T11:05:52.8215944Z             {
2026-06-13T11:05:52.8216087Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8216199Z               "line": 1239
2026-06-13T11:05:52.8216303Z             }
2026-06-13T11:05:52.8216400Z           ]
2026-06-13T11:05:52.8216509Z         }
2026-06-13T11:05:52.8216609Z       }
2026-06-13T11:05:52.8216710Z     },
2026-06-13T11:05:52.8216810Z     {
2026-06-13T11:05:52.8216928Z       "id": "REQ-DAEMON-6",
2026-06-13T11:05:52.8219149Z       "title": "Service-aware `daemon start`/`stop`: when an OS service manager has a registered spt-daemon for this user, `spt daemon start` and `spt daemon stop` drive THAT service (so stop doesn't IPC-kill a unit that auto-restart-fights for the broker socket — the kitsubito 2026-06-08 loop). `start` graduates from a `run` alias to a first-class background verb (ensure-up, idempotent, non-blocking); stop routes managed→manager, manual→IPC. Linux=systemd user unit (`systemctl --user start|stop|is-active spt-daemon`, detected by unit-file presence); Windows=no controllable manager (the logon task is boot-only), so start=detached spawn / stop=IPC.",
2026-06-13T11:05:52.8219317Z       "requiredStages": [
2026-06-13T11:05:52.8219421Z         "impl",
2026-06-13T11:05:52.8219527Z         "unit"
2026-06-13T11:05:52.8219626Z       ],
2026-06-13T11:05:52.8219735Z       "stages": {
2026-06-13T11:05:52.8219841Z         "doc": {
2026-06-13T11:05:52.8219960Z           "complete": false,
2026-06-13T11:05:52.8220069Z           "evidence": []
2026-06-13T11:05:52.8220175Z         },
2026-06-13T11:05:52.8220284Z         "impl": {
2026-06-13T11:05:52.8220394Z           "complete": true,
2026-06-13T11:05:52.8220505Z           "evidence": [
2026-06-13T11:05:52.8220609Z             {
2026-06-13T11:05:52.8220761Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8220877Z               "line": 426
2026-06-13T11:05:52.8220975Z             },
2026-06-13T11:05:52.8221079Z             {
2026-06-13T11:05:52.8221222Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8221516Z               "line": 457
2026-06-13T11:05:52.8221621Z             },
2026-06-13T11:05:52.8221720Z             {
2026-06-13T11:05:52.8221865Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8221973Z               "line": 55
2026-06-13T11:05:52.8222079Z             },
2026-06-13T11:05:52.8222179Z             {
2026-06-13T11:05:52.8222423Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8222532Z               "line": 70
2026-06-13T11:05:52.8222631Z             },
2026-06-13T11:05:52.8222737Z             {
2026-06-13T11:05:52.8222865Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8222966Z               "line": 1487
2026-06-13T11:05:52.8223072Z             },
2026-06-13T11:05:52.8223170Z             {
2026-06-13T11:05:52.8223299Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8223411Z               "line": 1513
2026-06-13T11:05:52.8223513Z             }
2026-06-13T11:05:52.8223610Z           ]
2026-06-13T11:05:52.8223721Z         },
2026-06-13T11:05:52.8223824Z         "int": {
2026-06-13T11:05:52.8223941Z           "complete": false,
2026-06-13T11:05:52.8224052Z           "evidence": []
2026-06-13T11:05:52.8224150Z         },
2026-06-13T11:05:52.8224249Z         "unit": {
2026-06-13T11:05:52.8224360Z           "complete": true,
2026-06-13T11:05:52.8224465Z           "evidence": [
2026-06-13T11:05:52.8224569Z             {
2026-06-13T11:05:52.8224718Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8224831Z               "line": 288
2026-06-13T11:05:52.8224926Z             },
2026-06-13T11:05:52.8225032Z             {
2026-06-13T11:05:52.8225174Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8225284Z               "line": 299
2026-06-13T11:05:52.8225385Z             },
2026-06-13T11:05:52.8225489Z             {
2026-06-13T11:05:52.8225629Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8225733Z               "line": 325
2026-06-13T11:05:52.8225838Z             },
2026-06-13T11:05:52.8225939Z             {
2026-06-13T11:05:52.8226085Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8226185Z               "line": 351
2026-06-13T11:05:52.8226287Z             }
2026-06-13T11:05:52.8226391Z           ]
2026-06-13T11:05:52.8226494Z         }
2026-06-13T11:05:52.8226600Z       }
2026-06-13T11:05:52.8226698Z     },
2026-06-13T11:05:52.8226797Z     {
2026-06-13T11:05:52.8226917Z       "id": "REQ-DAEMON-7",
2026-06-13T11:05:52.8228352Z       "title": "`daemon run` is foreground-consistent on every platform: the invoking process IS the daemon, blocks until signalled, never auto-detaches or respawns into an invisible background task. The detached/de-elevated background behavior lives ONLY in `start`. Windows: an ELEVATED `daemon run` refuses with guidance (use `start`, or an unelevated shell) instead of respawning detached/de-elevated and vanishing (KH 5.7 preserved — it still never serves elevated).",
2026-06-13T11:05:52.8228481Z       "requiredStages": [
2026-06-13T11:05:52.8228586Z         "impl",
2026-06-13T11:05:52.8228691Z         "unit"
2026-06-13T11:05:52.8228791Z       ],
2026-06-13T11:05:52.8228892Z       "stages": {
2026-06-13T11:05:52.8229072Z         "doc": {
2026-06-13T11:05:52.8229183Z           "complete": false,
2026-06-13T11:05:52.8229309Z           "evidence": []
2026-06-13T11:05:52.8229404Z         },
2026-06-13T11:05:52.8229510Z         "impl": {
2026-06-13T11:05:52.8229615Z           "complete": true,
2026-06-13T11:05:52.8229719Z           "evidence": [
2026-06-13T11:05:52.8229820Z             {
2026-06-13T11:05:52.8229962Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8230072Z               "line": 476
2026-06-13T11:05:52.8230173Z             },
2026-06-13T11:05:52.8230277Z             {
2026-06-13T11:05:52.8230425Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8230535Z               "line": 601
2026-06-13T11:05:52.8230644Z             },
2026-06-13T11:05:52.8231815Z             {
2026-06-13T11:05:52.8231952Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8232057Z               "line": 89
2026-06-13T11:05:52.8232167Z             },
2026-06-13T11:05:52.8232271Z             {
2026-06-13T11:05:52.8232396Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8232595Z               "line": 1434
2026-06-13T11:05:52.8232697Z             }
2026-06-13T11:05:52.8232802Z           ]
2026-06-13T11:05:52.8232901Z         },
2026-06-13T11:05:52.8233007Z         "int": {
2026-06-13T11:05:52.8233126Z           "complete": false,
2026-06-13T11:05:52.8233225Z           "evidence": []
2026-06-13T11:05:52.8233326Z         },
2026-06-13T11:05:52.8233425Z         "unit": {
2026-06-13T11:05:52.8233540Z           "complete": true,
2026-06-13T11:05:52.8233646Z           "evidence": [
2026-06-13T11:05:52.8233750Z             {
2026-06-13T11:05:52.8233898Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8234008Z               "line": 314
2026-06-13T11:05:52.8234107Z             },
2026-06-13T11:05:52.8234203Z             {
2026-06-13T11:05:52.8234337Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8234445Z               "line": 5949
2026-06-13T11:05:52.8234555Z             }
2026-06-13T11:05:52.8234659Z           ]
2026-06-13T11:05:52.8234757Z         }
2026-06-13T11:05:52.8234852Z       }
2026-06-13T11:05:52.8234953Z     },
2026-06-13T11:05:52.8235053Z     {
2026-06-13T11:05:52.8235157Z       "id": "REQ-DAEMON-8",
2026-06-13T11:05:52.8236135Z       "title": "Internal auto-start prefers the service: `ensure_running` (any spt command's implicit daemon start, REQ-DAEMON-3) routes through the service-aware start path — when a manager has a registered service it starts THAT, never a competing manual `spawn_detached` daemon that would fight the service for the socket.",
2026-06-13T11:05:52.8236260Z       "requiredStages": [
2026-06-13T11:05:52.8236359Z         "impl",
2026-06-13T11:05:52.8236470Z         "unit"
2026-06-13T11:05:52.8236565Z       ],
2026-06-13T11:05:52.8236669Z       "stages": {
2026-06-13T11:05:52.8236780Z         "doc": {
2026-06-13T11:05:52.8236894Z           "complete": false,
2026-06-13T11:05:52.8237007Z           "evidence": []
2026-06-13T11:05:52.8237107Z         },
2026-06-13T11:05:52.8237212Z         "impl": {
2026-06-13T11:05:52.8237329Z           "complete": true,
2026-06-13T11:05:52.8237438Z           "evidence": [
2026-06-13T11:05:52.8237535Z             {
2026-06-13T11:05:52.8237676Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8237792Z               "line": 376
2026-06-13T11:05:52.8237892Z             },
2026-06-13T11:05:52.8237996Z             {
2026-06-13T11:05:52.8238130Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8238240Z               "line": 56
2026-06-13T11:05:52.8238348Z             }
2026-06-13T11:05:52.8238445Z           ]
2026-06-13T11:05:52.8238550Z         },
2026-06-13T11:05:52.8238644Z         "int": {
2026-06-13T11:05:52.8238756Z           "complete": false,
2026-06-13T11:05:52.8238850Z           "evidence": []
2026-06-13T11:05:52.8239036Z         },
2026-06-13T11:05:52.8239137Z         "unit": {
2026-06-13T11:05:52.8239246Z           "complete": true,
2026-06-13T11:05:52.8239366Z           "evidence": [
2026-06-13T11:05:52.8239480Z             {
2026-06-13T11:05:52.8239622Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8239728Z               "line": 288
2026-06-13T11:05:52.8239837Z             },
2026-06-13T11:05:52.8239936Z             {
2026-06-13T11:05:52.8240075Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-13T11:05:52.8240184Z               "line": 325
2026-06-13T11:05:52.8240284Z             }
2026-06-13T11:05:52.8240385Z           ]
2026-06-13T11:05:52.8240490Z         }
2026-06-13T11:05:52.8240598Z       }
2026-06-13T11:05:52.8240700Z     },
2026-06-13T11:05:52.8240795Z     {
2026-06-13T11:05:52.8240913Z       "id": "REQ-DAEMON-9",
2026-06-13T11:05:52.8247069Z       "title": "Net-bind boot-race resilience: a daemon that comes up net-less (NetHost::start failed — e.g. the systemd unit autostarted before the network/DNS stack was ready, `Failed to create an address lookup service`) must SELF-HEAL — retry the net bring-up in the background with capped backoff and, on success, attach net to the broker + spawn the dispatcher/peer-pump (which today are gated on `net_up` at boot and so never start, leaving the node silently unreachable until a manual restart — kitsubito 2026-06-08). Status surfaces the net-less state honestly (a net-less broker renders as 'no connection', not only a pump-STALLED line with a bogus pre-boot heartbeat age). The installer's autostart unit waits for the network (`Wants=/After=network-online.target`) as belt-and-suspenders.",
2026-06-13T11:05:52.8247388Z       "requiredStages": [
2026-06-13T11:05:52.8247501Z         "impl",
2026-06-13T11:05:52.8247605Z         "unit"
2026-06-13T11:05:52.8247715Z       ],
2026-06-13T11:05:52.8247823Z       "stages": {
2026-06-13T11:05:52.8247927Z         "doc": {
2026-06-13T11:05:52.8248042Z           "complete": false,
2026-06-13T11:05:52.8248147Z           "evidence": []
2026-06-13T11:05:52.8248255Z         },
2026-06-13T11:05:52.8248357Z         "impl": {
2026-06-13T11:05:52.8248471Z           "complete": true,
2026-06-13T11:05:52.8248589Z           "evidence": [
2026-06-13T11:05:52.8248691Z             {
2026-06-13T11:05:52.8248852Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8249057Z               "line": 262
2026-06-13T11:05:52.8249167Z             },
2026-06-13T11:05:52.8249277Z             {
2026-06-13T11:05:52.8249415Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8249520Z               "line": 306
2026-06-13T11:05:52.8249621Z             },
2026-06-13T11:05:52.8249720Z             {
2026-06-13T11:05:52.8249863Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8249983Z               "line": 190
2026-06-13T11:05:52.8250087Z             },
2026-06-13T11:05:52.8250182Z             {
2026-06-13T11:05:52.8250327Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8250430Z               "line": 275
2026-06-13T11:05:52.8250529Z             },
2026-06-13T11:05:52.8250630Z             {
2026-06-13T11:05:52.8250777Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8250887Z               "line": 312
2026-06-13T11:05:52.8250988Z             },
2026-06-13T11:05:52.8251092Z             {
2026-06-13T11:05:52.8251217Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8251336Z               "line": 1542
2026-06-13T11:05:52.8251430Z             }
2026-06-13T11:05:52.8251531Z           ]
2026-06-13T11:05:52.8251636Z         },
2026-06-13T11:05:52.8251736Z         "int": {
2026-06-13T11:05:52.8251856Z           "complete": false,
2026-06-13T11:05:52.8251951Z           "evidence": []
2026-06-13T11:05:52.8252046Z         },
2026-06-13T11:05:52.8252146Z         "unit": {
2026-06-13T11:05:52.8252271Z           "complete": true,
2026-06-13T11:05:52.8252389Z           "evidence": [
2026-06-13T11:05:52.8252485Z             {
2026-06-13T11:05:52.8252627Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8252736Z               "line": 723
2026-06-13T11:05:52.8252841Z             },
2026-06-13T11:05:52.8252940Z             {
2026-06-13T11:05:52.8253072Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8253182Z               "line": 8142
2026-06-13T11:05:52.8253279Z             }
2026-06-13T11:05:52.8253387Z           ]
2026-06-13T11:05:52.8253482Z         }
2026-06-13T11:05:52.8253583Z       }
2026-06-13T11:05:52.8253677Z     },
2026-06-13T11:05:52.8253779Z     {
2026-06-13T11:05:52.8253893Z       "id": "REQ-DOCS-1",
2026-06-13T11:05:52.8254117Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-13T11:05:52.8254231Z       "requiredStages": [
2026-06-13T11:05:52.8254442Z         "doc",
2026-06-13T11:05:52.8254545Z         "impl"
2026-06-13T11:05:52.8254641Z       ],
2026-06-13T11:05:52.8254752Z       "stages": {
2026-06-13T11:05:52.8254860Z         "doc": {
2026-06-13T11:05:52.8254970Z           "complete": true,
2026-06-13T11:05:52.8255081Z           "evidence": [
2026-06-13T11:05:52.8255275Z             {
2026-06-13T11:05:52.8255410Z               "path": "docs-site/src/index.md",
2026-06-13T11:05:52.8255518Z               "line": 50
2026-06-13T11:05:52.8255622Z             }
2026-06-13T11:05:52.8255722Z           ]
2026-06-13T11:05:52.8255817Z         },
2026-06-13T11:05:52.8255920Z         "impl": {
2026-06-13T11:05:52.8256030Z           "complete": true,
2026-06-13T11:05:52.8256141Z           "evidence": [
2026-06-13T11:05:52.8256240Z             {
2026-06-13T11:05:52.8256393Z               "path": ".github/workflows/docs-publish.yml",
2026-06-13T11:05:52.8256507Z               "line": 12
2026-06-13T11:05:52.8256602Z             },
2026-06-13T11:05:52.8256718Z             {
2026-06-13T11:05:52.8256845Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.8256955Z               "line": 14
2026-06-13T11:05:52.8257051Z             }
2026-06-13T11:05:52.8257155Z           ]
2026-06-13T11:05:52.8257255Z         },
2026-06-13T11:05:52.8257357Z         "int": {
2026-06-13T11:05:52.8257475Z           "complete": false,
2026-06-13T11:05:52.8257580Z           "evidence": []
2026-06-13T11:05:52.8257681Z         },
2026-06-13T11:05:52.8257784Z         "unit": {
2026-06-13T11:05:52.8257900Z           "complete": false,
2026-06-13T11:05:52.8258005Z           "evidence": []
2026-06-13T11:05:52.8258104Z         }
2026-06-13T11:05:52.8258203Z       }
2026-06-13T11:05:52.8258299Z     },
2026-06-13T11:05:52.8258397Z     {
2026-06-13T11:05:52.8258506Z       "id": "REQ-DOCS-2",
2026-06-13T11:05:52.8258693Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-13T11:05:52.8258807Z       "requiredStages": [
2026-06-13T11:05:52.8258917Z         "doc",
2026-06-13T11:05:52.8259112Z         "int"
2026-06-13T11:05:52.8259203Z       ],
2026-06-13T11:05:52.8259317Z       "stages": {
2026-06-13T11:05:52.8259412Z         "doc": {
2026-06-13T11:05:52.8259527Z           "complete": true,
2026-06-13T11:05:52.8259637Z           "evidence": [
2026-06-13T11:05:52.8259736Z             {
2026-06-13T11:05:52.8259942Z               "path": "docs-site/src/harness-contract/integration-checklist.md",
2026-06-13T11:05:52.8260047Z               "line": 3
2026-06-13T11:05:52.8260147Z             },
2026-06-13T11:05:52.8260247Z             {
2026-06-13T11:05:52.8260404Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-13T11:05:52.8260510Z               "line": 3
2026-06-13T11:05:52.8260609Z             },
2026-06-13T11:05:52.8260714Z             {
2026-06-13T11:05:52.8260868Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-13T11:05:52.8260975Z               "line": 3
2026-06-13T11:05:52.8261075Z             }
2026-06-13T11:05:52.8261180Z           ]
2026-06-13T11:05:52.8261295Z         },
2026-06-13T11:05:52.8261394Z         "impl": {
2026-06-13T11:05:52.8261515Z           "complete": false,
2026-06-13T11:05:52.8261619Z           "evidence": []
2026-06-13T11:05:52.8261728Z         },
2026-06-13T11:05:52.8261834Z         "int": {
2026-06-13T11:05:52.8261948Z           "complete": true,
2026-06-13T11:05:52.8262063Z           "evidence": [
2026-06-13T11:05:52.8262158Z             {
2026-06-13T11:05:52.8262310Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-13T11:05:52.8262416Z               "line": 14
2026-06-13T11:05:52.8262525Z             }
2026-06-13T11:05:52.8262625Z           ]
2026-06-13T11:05:52.8262726Z         },
2026-06-13T11:05:52.8262831Z         "unit": {
2026-06-13T11:05:52.8262940Z           "complete": false,
2026-06-13T11:05:52.8263055Z           "evidence": []
2026-06-13T11:05:52.8263155Z         }
2026-06-13T11:05:52.8263253Z       }
2026-06-13T11:05:52.8263339Z     },
2026-06-13T11:05:52.8263542Z     {
2026-06-13T11:05:52.8263651Z       "id": "REQ-DOCS-3",
2026-06-13T11:05:52.8263885Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-13T11:05:52.8263999Z       "requiredStages": [
2026-06-13T11:05:52.8264101Z         "doc"
2026-06-13T11:05:52.8264200Z       ],
2026-06-13T11:05:52.8264300Z       "stages": {
2026-06-13T11:05:52.8264505Z         "doc": {
2026-06-13T11:05:52.8264619Z           "complete": true,
2026-06-13T11:05:52.8264716Z           "evidence": [
2026-06-13T11:05:52.8264820Z             {
2026-06-13T11:05:52.8264953Z               "path": "docs-site/src/index.md",
2026-06-13T11:05:52.8265050Z               "line": 42
2026-06-13T11:05:52.8265149Z             }
2026-06-13T11:05:52.8265254Z           ]
2026-06-13T11:05:52.8265350Z         },
2026-06-13T11:05:52.8265449Z         "impl": {
2026-06-13T11:05:52.8265559Z           "complete": false,
2026-06-13T11:05:52.8265665Z           "evidence": []
2026-06-13T11:05:52.8265764Z         },
2026-06-13T11:05:52.8265874Z         "int": {
2026-06-13T11:05:52.8265989Z           "complete": false,
2026-06-13T11:05:52.8266102Z           "evidence": []
2026-06-13T11:05:52.8266192Z         },
2026-06-13T11:05:52.8266292Z         "unit": {
2026-06-13T11:05:52.8266405Z           "complete": false,
2026-06-13T11:05:52.8266504Z           "evidence": []
2026-06-13T11:05:52.8266609Z         }
2026-06-13T11:05:52.8266711Z       }
2026-06-13T11:05:52.8266814Z     },
2026-06-13T11:05:52.8266910Z     {
2026-06-13T11:05:52.8267030Z       "id": "REQ-DOCS-4",
2026-06-13T11:05:52.8267249Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-13T11:05:52.8267354Z       "requiredStages": [
2026-06-13T11:05:52.8267453Z         "doc",
2026-06-13T11:05:52.8267559Z         "impl",
2026-06-13T11:05:52.8267668Z         "unit"
2026-06-13T11:05:52.8267763Z       ],
2026-06-13T11:05:52.8267864Z       "stages": {
2026-06-13T11:05:52.8267968Z         "doc": {
2026-06-13T11:05:52.8268082Z           "complete": true,
2026-06-13T11:05:52.8268189Z           "evidence": [
2026-06-13T11:05:52.8268288Z             {
2026-06-13T11:05:52.8268426Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-13T11:05:52.8268537Z               "line": 35
2026-06-13T11:05:52.8268640Z             }
2026-06-13T11:05:52.8268739Z           ]
2026-06-13T11:05:52.8268840Z         },
2026-06-13T11:05:52.8269028Z         "impl": {
2026-06-13T11:05:52.8269133Z           "complete": true,
2026-06-13T11:05:52.8269258Z           "evidence": [
2026-06-13T11:05:52.8269352Z             {
2026-06-13T11:05:52.8269501Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.8269610Z               "line": 596
2026-06-13T11:05:52.8269719Z             },
2026-06-13T11:05:52.8269816Z             {
2026-06-13T11:05:52.8269948Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.8270053Z               "line": 15
2026-06-13T11:05:52.8270154Z             }
2026-06-13T11:05:52.8270254Z           ]
2026-06-13T11:05:52.8270358Z         },
2026-06-13T11:05:52.8270460Z         "int": {
2026-06-13T11:05:52.8270564Z           "complete": false,
2026-06-13T11:05:52.8270673Z           "evidence": []
2026-06-13T11:05:52.8270780Z         },
2026-06-13T11:05:52.8270887Z         "unit": {
2026-06-13T11:05:52.8270993Z           "complete": true,
2026-06-13T11:05:52.8271104Z           "evidence": [
2026-06-13T11:05:52.8271207Z             {
2026-06-13T11:05:52.8271356Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.8271465Z               "line": 1102
2026-06-13T11:05:52.8271569Z             }
2026-06-13T11:05:52.8271664Z           ]
2026-06-13T11:05:52.8271765Z         }
2026-06-13T11:05:52.8271860Z       }
2026-06-13T11:05:52.8271969Z     },
2026-06-13T11:05:52.8272051Z     {
2026-06-13T11:05:52.8272170Z       "id": "REQ-DOCS-5",
2026-06-13T11:05:52.8272394Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-13T11:05:52.8272494Z       "requiredStages": [
2026-06-13T11:05:52.8272695Z         "impl",
2026-06-13T11:05:52.8272799Z         "int"
2026-06-13T11:05:52.8272899Z       ],
2026-06-13T11:05:52.8273001Z       "stages": {
2026-06-13T11:05:52.8273104Z         "doc": {
2026-06-13T11:05:52.8273218Z           "complete": false,
2026-06-13T11:05:52.8273329Z           "evidence": []
2026-06-13T11:05:52.8273524Z         },
2026-06-13T11:05:52.8273625Z         "impl": {
2026-06-13T11:05:52.8273738Z           "complete": true,
2026-06-13T11:05:52.8273847Z           "evidence": [
2026-06-13T11:05:52.8273947Z             {
2026-06-13T11:05:52.8274098Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.8274202Z               "line": 597
2026-06-13T11:05:52.8274307Z             },
2026-06-13T11:05:52.8274412Z             {
2026-06-13T11:05:52.8274550Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.8274656Z               "line": 113
2026-06-13T11:05:52.8274756Z             }
2026-06-13T11:05:52.8274855Z           ]
2026-06-13T11:05:52.8274961Z         },
2026-06-13T11:05:52.8275065Z         "int": {
2026-06-13T11:05:52.8275175Z           "complete": true,
2026-06-13T11:05:52.8275285Z           "evidence": [
2026-06-13T11:05:52.8275380Z             {
2026-06-13T11:05:52.8275513Z               "path": ".github/workflows/ci.yml",
2026-06-13T11:05:52.8275628Z               "line": 86
2026-06-13T11:05:52.8275733Z             },
2026-06-13T11:05:52.8275838Z             {
2026-06-13T11:05:52.8275986Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.8276095Z               "line": 1139
2026-06-13T11:05:52.8276197Z             }
2026-06-13T11:05:52.8276300Z           ]
2026-06-13T11:05:52.8276400Z         },
2026-06-13T11:05:52.8276502Z         "unit": {
2026-06-13T11:05:52.8276615Z           "complete": false,
2026-06-13T11:05:52.8276719Z           "evidence": []
2026-06-13T11:05:52.8276824Z         }
2026-06-13T11:05:52.8276918Z       }
2026-06-13T11:05:52.8277021Z     },
2026-06-13T11:05:52.8277122Z     {
2026-06-13T11:05:52.8277237Z       "id": "REQ-DOCS-6",
2026-06-13T11:05:52.8277595Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-13T11:05:52.8277708Z       "requiredStages": [
2026-06-13T11:05:52.8277814Z         "impl",
2026-06-13T11:05:52.8277914Z         "unit",
2026-06-13T11:05:52.8278027Z         "int"
2026-06-13T11:05:52.8278129Z       ],
2026-06-13T11:05:52.8278232Z       "stages": {
2026-06-13T11:05:52.8278337Z         "doc": {
2026-06-13T11:05:52.8278448Z           "complete": true,
2026-06-13T11:05:52.8278557Z           "evidence": [
2026-06-13T11:05:52.8278657Z             {
2026-06-13T11:05:52.8278816Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-13T11:05:52.8278924Z               "line": 4
2026-06-13T11:05:52.8279116Z             }
2026-06-13T11:05:52.8279233Z           ]
2026-06-13T11:05:52.8279337Z         },
2026-06-13T11:05:52.8279453Z         "impl": {
2026-06-13T11:05:52.8279564Z           "complete": true,
2026-06-13T11:05:52.8279684Z           "evidence": [
2026-06-13T11:05:52.8279789Z             {
2026-06-13T11:05:52.8279917Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8280032Z               "line": 4245
2026-06-13T11:05:52.8280132Z             }
2026-06-13T11:05:52.8280236Z           ]
2026-06-13T11:05:52.8280347Z         },
2026-06-13T11:05:52.8280456Z         "int": {
2026-06-13T11:05:52.8280575Z           "complete": true,
2026-06-13T11:05:52.8280681Z           "evidence": [
2026-06-13T11:05:52.8280790Z             {
2026-06-13T11:05:52.8280933Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-13T11:05:52.8281044Z               "line": 39
2026-06-13T11:05:52.8281143Z             }
2026-06-13T11:05:52.8281248Z           ]
2026-06-13T11:05:52.8281354Z         },
2026-06-13T11:05:52.8281452Z         "unit": {
2026-06-13T11:05:52.8281567Z           "complete": true,
2026-06-13T11:05:52.8281674Z           "evidence": [
2026-06-13T11:05:52.8281897Z             {
2026-06-13T11:05:52.8282026Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8282139Z               "line": 8304
2026-06-13T11:05:52.8282243Z             }
2026-06-13T11:05:52.8282349Z           ]
2026-06-13T11:05:52.8282448Z         }
2026-06-13T11:05:52.8282548Z       }
2026-06-13T11:05:52.8282749Z     },
2026-06-13T11:05:52.8282848Z     {
2026-06-13T11:05:52.8282964Z       "id": "REQ-EP-1",
2026-06-13T11:05:52.8283120Z       "title": "Day-one endpoint types; open type system",
2026-06-13T11:05:52.8283231Z       "requiredStages": [
2026-06-13T11:05:52.8283336Z         "impl",
2026-06-13T11:05:52.8283430Z         "unit"
2026-06-13T11:05:52.8283536Z       ],
2026-06-13T11:05:52.8283641Z       "stages": {
2026-06-13T11:05:52.8283745Z         "doc": {
2026-06-13T11:05:52.8283861Z           "complete": false,
2026-06-13T11:05:52.8283965Z           "evidence": []
2026-06-13T11:05:52.8284069Z         },
2026-06-13T11:05:52.8284166Z         "impl": {
2026-06-13T11:05:52.8284289Z           "complete": true,
2026-06-13T11:05:52.8284383Z           "evidence": [
2026-06-13T11:05:52.8284483Z             {
2026-06-13T11:05:52.8284625Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T11:05:52.8284738Z               "line": 77
2026-06-13T11:05:52.8284882Z             },
2026-06-13T11:05:52.8284996Z             {
2026-06-13T11:05:52.8285139Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T11:05:52.8285245Z               "line": 94
2026-06-13T11:05:52.8285344Z             }
2026-06-13T11:05:52.8285444Z           ]
2026-06-13T11:05:52.8285545Z         },
2026-06-13T11:05:52.8285644Z         "int": {
2026-06-13T11:05:52.8285754Z           "complete": false,
2026-06-13T11:05:52.8285869Z           "evidence": []
2026-06-13T11:05:52.8285969Z         },
2026-06-13T11:05:52.8286069Z         "unit": {
2026-06-13T11:05:52.8286179Z           "complete": true,
2026-06-13T11:05:52.8286288Z           "evidence": [
2026-06-13T11:05:52.8286393Z             {
2026-06-13T11:05:52.8286536Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T11:05:52.8286655Z               "line": 161
2026-06-13T11:05:52.8286747Z             },
2026-06-13T11:05:52.8286851Z             {
2026-06-13T11:05:52.8286989Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T11:05:52.8287100Z               "line": 178
2026-06-13T11:05:52.8287199Z             }
2026-06-13T11:05:52.8287302Z           ]
2026-06-13T11:05:52.8287403Z         }
2026-06-13T11:05:52.8287492Z       }
2026-06-13T11:05:52.8287591Z     },
2026-06-13T11:05:52.8287692Z     {
2026-06-13T11:05:52.8287792Z       "id": "REQ-EP-2",
2026-06-13T11:05:52.8287977Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-13T11:05:52.8288088Z       "requiredStages": [
2026-06-13T11:05:52.8288188Z         "impl",
2026-06-13T11:05:52.8288282Z         "unit"
2026-06-13T11:05:52.8288388Z       ],
2026-06-13T11:05:52.8288493Z       "stages": {
2026-06-13T11:05:52.8288587Z         "doc": {
2026-06-13T11:05:52.8288703Z           "complete": false,
2026-06-13T11:05:52.8288807Z           "evidence": []
2026-06-13T11:05:52.8288912Z         },
2026-06-13T11:05:52.8289131Z         "impl": {
2026-06-13T11:05:52.8289256Z           "complete": true,
2026-06-13T11:05:52.8289366Z           "evidence": [
2026-06-13T11:05:52.8289464Z             {
2026-06-13T11:05:52.8289624Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T11:05:52.8289733Z               "line": 114
2026-06-13T11:05:52.8289836Z             },
2026-06-13T11:05:52.8289936Z             {
2026-06-13T11:05:52.8290078Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T11:05:52.8290186Z               "line": 131
2026-06-13T11:05:52.8290287Z             },
2026-06-13T11:05:52.8290393Z             {
2026-06-13T11:05:52.8290530Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T11:05:52.8290650Z               "line": 138
2026-06-13T11:05:52.8290750Z             }
2026-06-13T11:05:52.8290955Z           ]
2026-06-13T11:05:52.8291060Z         },
2026-06-13T11:05:52.8291159Z         "int": {
2026-06-13T11:05:52.8291270Z           "complete": false,
2026-06-13T11:05:52.8291364Z           "evidence": []
2026-06-13T11:05:52.8291469Z         },
2026-06-13T11:05:52.8291575Z         "unit": {
2026-06-13T11:05:52.8291679Z           "complete": true,
2026-06-13T11:05:52.8291885Z           "evidence": [
2026-06-13T11:05:52.8291984Z             {
2026-06-13T11:05:52.8292118Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T11:05:52.8292224Z               "line": 190
2026-06-13T11:05:52.8292327Z             },
2026-06-13T11:05:52.8292428Z             {
2026-06-13T11:05:52.8292577Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T11:05:52.8292679Z               "line": 208
2026-06-13T11:05:52.8292779Z             },
2026-06-13T11:05:52.8292880Z             {
2026-06-13T11:05:52.8293022Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-13T11:05:52.8293137Z               "line": 221
2026-06-13T11:05:52.8293242Z             }
2026-06-13T11:05:52.8293347Z           ]
2026-06-13T11:05:52.8293448Z         }
2026-06-13T11:05:52.8293538Z       }
2026-06-13T11:05:52.8293638Z     },
2026-06-13T11:05:52.8293738Z     {
2026-06-13T11:05:52.8293848Z       "id": "REQ-EP-3",
2026-06-13T11:05:52.8294062Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-13T11:05:52.8294172Z       "requiredStages": [
2026-06-13T11:05:52.8294272Z         "impl",
2026-06-13T11:05:52.8294372Z         "unit"
2026-06-13T11:05:52.8294474Z       ],
2026-06-13T11:05:52.8294577Z       "stages": {
2026-06-13T11:05:52.8294677Z         "doc": {
2026-06-13T11:05:52.8294788Z           "complete": false,
2026-06-13T11:05:52.8294901Z           "evidence": []
2026-06-13T11:05:52.8295000Z         },
2026-06-13T11:05:52.8295115Z         "impl": {
2026-06-13T11:05:52.8295246Z           "complete": true,
2026-06-13T11:05:52.8295356Z           "evidence": [
2026-06-13T11:05:52.8295462Z             {
2026-06-13T11:05:52.8295618Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T11:05:52.8295771Z               "line": 31
2026-06-13T11:05:52.8295942Z             },
2026-06-13T11:05:52.8296048Z             {
2026-06-13T11:05:52.8296190Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T11:05:52.8296300Z               "line": 49
2026-06-13T11:05:52.8296401Z             }
2026-06-13T11:05:52.8296505Z           ]
2026-06-13T11:05:52.8296634Z         },
2026-06-13T11:05:52.8296748Z         "int": {
2026-06-13T11:05:52.8296858Z           "complete": false,
2026-06-13T11:05:52.8296973Z           "evidence": []
2026-06-13T11:05:52.8297073Z         },
2026-06-13T11:05:52.8297173Z         "unit": {
2026-06-13T11:05:52.8297278Z           "complete": true,
2026-06-13T11:05:52.8297388Z           "evidence": [
2026-06-13T11:05:52.8297497Z             {
2026-06-13T11:05:52.8297627Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T11:05:52.8297745Z               "line": 156
2026-06-13T11:05:52.8297844Z             },
2026-06-13T11:05:52.8297949Z             {
2026-06-13T11:05:52.8298080Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T11:05:52.8298184Z               "line": 164
2026-06-13T11:05:52.8298290Z             },
2026-06-13T11:05:52.8298391Z             {
2026-06-13T11:05:52.8305451Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T11:05:52.8305599Z               "line": 177
2026-06-13T11:05:52.8305703Z             },
2026-06-13T11:05:52.8305806Z             {
2026-06-13T11:05:52.8306007Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T11:05:52.8306131Z               "line": 200
2026-06-13T11:05:52.8306231Z             },
2026-06-13T11:05:52.8306331Z             {
2026-06-13T11:05:52.8306493Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T11:05:52.8306627Z               "line": 216
2026-06-13T11:05:52.8306727Z             },
2026-06-13T11:05:52.8306979Z             {
2026-06-13T11:05:52.8307146Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-13T11:05:52.8307262Z               "line": 233
2026-06-13T11:05:52.8307361Z             }
2026-06-13T11:05:52.8307447Z           ]
2026-06-13T11:05:52.8307553Z         }
2026-06-13T11:05:52.8307651Z       }
2026-06-13T11:05:52.8307752Z     },
2026-06-13T11:05:52.8307943Z     {
2026-06-13T11:05:52.8308062Z       "id": "REQ-EP-4",
2026-06-13T11:05:52.8308235Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-13T11:05:52.8308347Z       "requiredStages": [
2026-06-13T11:05:52.8308446Z         "impl",
2026-06-13T11:05:52.8308552Z         "unit"
2026-06-13T11:05:52.8308650Z       ],
2026-06-13T11:05:52.8308754Z       "stages": {
2026-06-13T11:05:52.8308860Z         "doc": {
2026-06-13T11:05:52.8309073Z           "complete": false,
2026-06-13T11:05:52.8309175Z           "evidence": []
2026-06-13T11:05:52.8309280Z         },
2026-06-13T11:05:52.8309379Z         "impl": {
2026-06-13T11:05:52.8309513Z           "complete": true,
2026-06-13T11:05:52.8309618Z           "evidence": [
2026-06-13T11:05:52.8309717Z             {
2026-06-13T11:05:52.8309866Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8309966Z               "line": 673
2026-06-13T11:05:52.8310071Z             },
2026-06-13T11:05:52.8310166Z             {
2026-06-13T11:05:52.8310309Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8310420Z               "line": 990
2026-06-13T11:05:52.8310519Z             },
2026-06-13T11:05:52.8310619Z             {
2026-06-13T11:05:52.8310759Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8310872Z               "line": 970
2026-06-13T11:05:52.8310971Z             },
2026-06-13T11:05:52.8311071Z             {
2026-06-13T11:05:52.8311207Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T11:05:52.8311306Z               "line": 83
2026-06-13T11:05:52.8311407Z             },
2026-06-13T11:05:52.8311508Z             {
2026-06-13T11:05:52.8311645Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T11:05:52.8311742Z               "line": 497
2026-06-13T11:05:52.8311842Z             },
2026-06-13T11:05:52.8311940Z             {
2026-06-13T11:05:52.8312066Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T11:05:52.8312175Z               "line": 583
2026-06-13T11:05:52.8312269Z             },
2026-06-13T11:05:52.8312376Z             {
2026-06-13T11:05:52.8312514Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8312623Z               "line": 196
2026-06-13T11:05:52.8312724Z             },
2026-06-13T11:05:52.8312828Z             {
2026-06-13T11:05:52.8312967Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8313067Z               "line": 337
2026-06-13T11:05:52.8313167Z             },
2026-06-13T11:05:52.8313262Z             {
2026-06-13T11:05:52.8313405Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.8313515Z               "line": 847
2026-06-13T11:05:52.8313607Z             }
2026-06-13T11:05:52.8313711Z           ]
2026-06-13T11:05:52.8313809Z         },
2026-06-13T11:05:52.8313914Z         "int": {
2026-06-13T11:05:52.8314029Z           "complete": false,
2026-06-13T11:05:52.8314142Z           "evidence": []
2026-06-13T11:05:52.8314243Z         },
2026-06-13T11:05:52.8314344Z         "unit": {
2026-06-13T11:05:52.8314457Z           "complete": true,
2026-06-13T11:05:52.8314553Z           "evidence": [
2026-06-13T11:05:52.8314659Z             {
2026-06-13T11:05:52.8314791Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T11:05:52.8314897Z               "line": 674
2026-06-13T11:05:52.8314997Z             },
2026-06-13T11:05:52.8315101Z             {
2026-06-13T11:05:52.8315255Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-13T11:05:52.8315354Z               "line": 76
2026-06-13T11:05:52.8315464Z             },
2026-06-13T11:05:52.8315560Z             {
2026-06-13T11:05:52.8315807Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-13T11:05:52.8315918Z               "line": 147
2026-06-13T11:05:52.8316016Z             }
2026-06-13T11:05:52.8316116Z           ]
2026-06-13T11:05:52.8316216Z         }
2026-06-13T11:05:52.8316315Z       }
2026-06-13T11:05:52.8316414Z     },
2026-06-13T11:05:52.8316606Z     {
2026-06-13T11:05:52.8316719Z       "id": "REQ-EP-5",
2026-06-13T11:05:52.8317420Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-13T11:05:52.8317544Z       "requiredStages": [
2026-06-13T11:05:52.8317639Z         "impl",
2026-06-13T11:05:52.8317749Z         "unit",
2026-06-13T11:05:52.8317850Z         "int"
2026-06-13T11:05:52.8317950Z       ],
2026-06-13T11:05:52.8318054Z       "stages": {
2026-06-13T11:05:52.8318146Z         "doc": {
2026-06-13T11:05:52.8318264Z           "complete": false,
2026-06-13T11:05:52.8318369Z           "evidence": []
2026-06-13T11:05:52.8318471Z         },
2026-06-13T11:05:52.8318569Z         "impl": {
2026-06-13T11:05:52.8318684Z           "complete": true,
2026-06-13T11:05:52.8318795Z           "evidence": [
2026-06-13T11:05:52.8318888Z             {
2026-06-13T11:05:52.8319131Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8319224Z               "line": 367
2026-06-13T11:05:52.8319333Z             },
2026-06-13T11:05:52.8319429Z             {
2026-06-13T11:05:52.8319581Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T11:05:52.8319682Z               "line": 18
2026-06-13T11:05:52.8319773Z             },
2026-06-13T11:05:52.8319872Z             {
2026-06-13T11:05:52.8320016Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T11:05:52.8320130Z               "line": 63
2026-06-13T11:05:52.8320220Z             },
2026-06-13T11:05:52.8320326Z             {
2026-06-13T11:05:52.8320469Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T11:05:52.8320569Z               "line": 92
2026-06-13T11:05:52.8320675Z             },
2026-06-13T11:05:52.8320774Z             {
2026-06-13T11:05:52.8320916Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T11:05:52.8321032Z               "line": 167
2026-06-13T11:05:52.8321131Z             },
2026-06-13T11:05:52.8321231Z             {
2026-06-13T11:05:52.8321375Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T11:05:52.8321488Z               "line": 179
2026-06-13T11:05:52.8321588Z             },
2026-06-13T11:05:52.8321688Z             {
2026-06-13T11:05:52.8321833Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8321934Z               "line": 114
2026-06-13T11:05:52.8322035Z             },
2026-06-13T11:05:52.8322134Z             {
2026-06-13T11:05:52.8322273Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8322373Z               "line": 22
2026-06-13T11:05:52.8322477Z             },
2026-06-13T11:05:52.8322578Z             {
2026-06-13T11:05:52.8322716Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8322825Z               "line": 145
2026-06-13T11:05:52.8322926Z             },
2026-06-13T11:05:52.8323035Z             {
2026-06-13T11:05:52.8323174Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8323289Z               "line": 174
2026-06-13T11:05:52.8323384Z             },
2026-06-13T11:05:52.8323483Z             {
2026-06-13T11:05:52.8323627Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8323727Z               "line": 196
2026-06-13T11:05:52.8323827Z             },
2026-06-13T11:05:52.8323914Z             {
2026-06-13T11:05:52.8324051Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8324162Z               "line": 221
2026-06-13T11:05:52.8324360Z             },
2026-06-13T11:05:52.8324460Z             {
2026-06-13T11:05:52.8324604Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8324712Z               "line": 247
2026-06-13T11:05:52.8324818Z             },
2026-06-13T11:05:52.8324923Z             {
2026-06-13T11:05:52.8325070Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8325291Z               "line": 270
2026-06-13T11:05:52.8325394Z             },
2026-06-13T11:05:52.8325495Z             {
2026-06-13T11:05:52.8325638Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.8325743Z               "line": 81
2026-06-13T11:05:52.8325848Z             },
2026-06-13T11:05:52.8325953Z             {
2026-06-13T11:05:52.8326082Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8326197Z               "line": 4653
2026-06-13T11:05:52.8326296Z             },
2026-06-13T11:05:52.8326396Z             {
2026-06-13T11:05:52.8326521Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8326643Z               "line": 4787
2026-06-13T11:05:52.8326748Z             },
2026-06-13T11:05:52.8326847Z             {
2026-06-13T11:05:52.8326974Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8327074Z               "line": 4953
2026-06-13T11:05:52.8327185Z             },
2026-06-13T11:05:52.8327289Z             {
2026-06-13T11:05:52.8327418Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8327523Z               "line": 5335
2026-06-13T11:05:52.8327627Z             }
2026-06-13T11:05:52.8327724Z           ]
2026-06-13T11:05:52.8327823Z         },
2026-06-13T11:05:52.8327927Z         "int": {
2026-06-13T11:05:52.8328043Z           "complete": true,
2026-06-13T11:05:52.8328152Z           "evidence": [
2026-06-13T11:05:52.8328256Z             {
2026-06-13T11:05:52.8328406Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-13T11:05:52.8328515Z               "line": 16
2026-06-13T11:05:52.8328614Z             },
2026-06-13T11:05:52.8328725Z             {
2026-06-13T11:05:52.8328862Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-13T11:05:52.8329054Z               "line": 15
2026-06-13T11:05:52.8329158Z             }
2026-06-13T11:05:52.8329254Z           ]
2026-06-13T11:05:52.8329365Z         },
2026-06-13T11:05:52.8329463Z         "unit": {
2026-06-13T11:05:52.8329586Z           "complete": true,
2026-06-13T11:05:52.8329696Z           "evidence": [
2026-06-13T11:05:52.8329794Z             {
2026-06-13T11:05:52.8329937Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T11:05:52.8330042Z               "line": 246
2026-06-13T11:05:52.8330146Z             },
2026-06-13T11:05:52.8330247Z             {
2026-06-13T11:05:52.8330391Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T11:05:52.8330494Z               "line": 306
2026-06-13T11:05:52.8330596Z             },
2026-06-13T11:05:52.8330695Z             {
2026-06-13T11:05:52.8330838Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-13T11:05:52.8330949Z               "line": 363
2026-06-13T11:05:52.8331048Z             },
2026-06-13T11:05:52.8331152Z             {
2026-06-13T11:05:52.8331301Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8331405Z               "line": 286
2026-06-13T11:05:52.8331511Z             },
2026-06-13T11:05:52.8331611Z             {
2026-06-13T11:05:52.8331754Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8331855Z               "line": 338
2026-06-13T11:05:52.8331954Z             },
2026-06-13T11:05:52.8332053Z             {
2026-06-13T11:05:52.8332191Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.8332309Z               "line": 570
2026-06-13T11:05:52.8332408Z             },
2026-06-13T11:05:52.8332508Z             {
2026-06-13T11:05:52.8332628Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8332741Z               "line": 6364
2026-06-13T11:05:52.8332848Z             },
2026-06-13T11:05:52.8333052Z             {
2026-06-13T11:05:52.8333181Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8333286Z               "line": 6488
2026-06-13T11:05:52.8333394Z             },
2026-06-13T11:05:52.8333492Z             {
2026-06-13T11:05:52.8333614Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8333863Z               "line": 7075
2026-06-13T11:05:52.8333953Z             },
2026-06-13T11:05:52.8334048Z             {
2026-06-13T11:05:52.8334168Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8334277Z               "line": 7191
2026-06-13T11:05:52.8334368Z             }
2026-06-13T11:05:52.8334474Z           ]
2026-06-13T11:05:52.8334573Z         }
2026-06-13T11:05:52.8334663Z       }
2026-06-13T11:05:52.8334770Z     },
2026-06-13T11:05:52.8334887Z     {
2026-06-13T11:05:52.8335001Z       "id": "REQ-EP-6",
2026-06-13T11:05:52.8336513Z       "title": "Gateway type acceptance: a Gateway-typed perch binds (api bind --type, open type system — un-hardcode the live_agent default), advertises/addressable like any endpoint, owns shells (owner validation not agent-family-gated), subscribes to digests, and is the user-msg identity gate's user-backed origin (REQ-MSG-5); in-tree mock-gateway fixture (R-DOCS-2 pattern, no downstream adapter code). Cross-node WAN Gateway-origin (registry endpoint_type trust) tracked by REQ-MSG-6",
2026-06-13T11:05:52.8336652Z       "requiredStages": [
2026-06-13T11:05:52.8336761Z         "doc",
2026-06-13T11:05:52.8336856Z         "impl",
2026-06-13T11:05:52.8336956Z         "unit"
2026-06-13T11:05:52.8337052Z       ],
2026-06-13T11:05:52.8337146Z       "stages": {
2026-06-13T11:05:52.8337246Z         "doc": {
2026-06-13T11:05:52.8337346Z           "complete": true,
2026-06-13T11:05:52.8337459Z           "evidence": [
2026-06-13T11:05:52.8337548Z             {
2026-06-13T11:05:52.8337668Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.8337778Z               "line": 206
2026-06-13T11:05:52.8337877Z             }
2026-06-13T11:05:52.8337978Z           ]
2026-06-13T11:05:52.8338074Z         },
2026-06-13T11:05:52.8338178Z         "impl": {
2026-06-13T11:05:52.8338279Z           "complete": true,
2026-06-13T11:05:52.8338393Z           "evidence": [
2026-06-13T11:05:52.8338483Z             {
2026-06-13T11:05:52.8338632Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.8338746Z               "line": 174
2026-06-13T11:05:52.8338846Z             }
2026-06-13T11:05:52.8339026Z           ]
2026-06-13T11:05:52.8339127Z         },
2026-06-13T11:05:52.8339228Z         "int": {
2026-06-13T11:05:52.8339341Z           "complete": true,
2026-06-13T11:05:52.8339451Z           "evidence": [
2026-06-13T11:05:52.8339562Z             {
2026-06-13T11:05:52.8339703Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-13T11:05:52.8339814Z               "line": 18
2026-06-13T11:05:52.8339915Z             }
2026-06-13T11:05:52.8340018Z           ]
2026-06-13T11:05:52.8340117Z         },
2026-06-13T11:05:52.8340227Z         "unit": {
2026-06-13T11:05:52.8340340Z           "complete": true,
2026-06-13T11:05:52.8340448Z           "evidence": [
2026-06-13T11:05:52.8340550Z             {
2026-06-13T11:05:52.8340701Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.8340812Z               "line": 525
2026-06-13T11:05:52.8340912Z             },
2026-06-13T11:05:52.8341011Z             {
2026-06-13T11:05:52.8341151Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.8341250Z               "line": 599
2026-06-13T11:05:52.8341359Z             }
2026-06-13T11:05:52.8341460Z           ]
2026-06-13T11:05:52.8341560Z         }
2026-06-13T11:05:52.8341665Z       }
2026-06-13T11:05:52.8341761Z     },
2026-06-13T11:05:52.8341861Z     {
2026-06-13T11:05:52.8341970Z       "id": "REQ-EP-7",
2026-06-13T11:05:52.8343650Z       "title": "Durable live-role.md: a per-agent broad-purpose statement in tracked/agents/<id>/ beside live-context.md (replicates with the mind on the same a-<id> branch); renders FIRST at start-transition context injection (role -> live-context -> project-context); SOLE writer `spt endpoint role --overwrite <file>` — mechanical no-automated-writer guarantee (echo-commune ingest / signoff / Psyche reconcile structurally exclude it). The user-backed-origin hard gate on the writer is a deferred later tightening (rides the user-msg identity plumbing)",
2026-06-13T11:05:52.8343979Z       "requiredStages": [
2026-06-13T11:05:52.8344084Z         "doc",
2026-06-13T11:05:52.8344189Z         "impl",
2026-06-13T11:05:52.8344289Z         "unit"
2026-06-13T11:05:52.8344395Z       ],
2026-06-13T11:05:52.8344490Z       "stages": {
2026-06-13T11:05:52.8344599Z         "doc": {
2026-06-13T11:05:52.8344705Z           "complete": true,
2026-06-13T11:05:52.8344813Z           "evidence": [
2026-06-13T11:05:52.8344957Z             {
2026-06-13T11:05:52.8345095Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.8345205Z               "line": 379
2026-06-13T11:05:52.8345316Z             }
2026-06-13T11:05:52.8345410Z           ]
2026-06-13T11:05:52.8345513Z         },
2026-06-13T11:05:52.8345613Z         "impl": {
2026-06-13T11:05:52.8345739Z           "complete": true,
2026-06-13T11:05:52.8345847Z           "evidence": [
2026-06-13T11:05:52.8345957Z             {
2026-06-13T11:05:52.8346100Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.8346219Z               "line": 505
2026-06-13T11:05:52.8346325Z             },
2026-06-13T11:05:52.8346425Z             {
2026-06-13T11:05:52.8346567Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T11:05:52.8346668Z               "line": 87
2026-06-13T11:05:52.8346777Z             },
2026-06-13T11:05:52.8346873Z             {
2026-06-13T11:05:52.8347030Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8347139Z               "line": 81
2026-06-13T11:05:52.8347241Z             },
2026-06-13T11:05:52.8347349Z             {
2026-06-13T11:05:52.8347493Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8347612Z               "line": 166
2026-06-13T11:05:52.8347706Z             },
2026-06-13T11:05:52.8347815Z             {
2026-06-13T11:05:52.8347944Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8348047Z               "line": 1172
2026-06-13T11:05:52.8348151Z             }
2026-06-13T11:05:52.8348248Z           ]
2026-06-13T11:05:52.8348352Z         },
2026-06-13T11:05:52.8348452Z         "int": {
2026-06-13T11:05:52.8348572Z           "complete": false,
2026-06-13T11:05:52.8348686Z           "evidence": []
2026-06-13T11:05:52.8348781Z         },
2026-06-13T11:05:52.8348882Z         "unit": {
2026-06-13T11:05:52.8349057Z           "complete": true,
2026-06-13T11:05:52.8349163Z           "evidence": [
2026-06-13T11:05:52.8349263Z             {
2026-06-13T11:05:52.8349416Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.8349535Z               "line": 623
2026-06-13T11:05:52.8349644Z             },
2026-06-13T11:05:52.8349744Z             {
2026-06-13T11:05:52.8349874Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.8349983Z               "line": 212
2026-06-13T11:05:52.8350084Z             },
2026-06-13T11:05:52.8350193Z             {
2026-06-13T11:05:52.8350326Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T11:05:52.8350437Z               "line": 299
2026-06-13T11:05:52.8350546Z             },
2026-06-13T11:05:52.8350645Z             {
2026-06-13T11:05:52.8350773Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8350891Z               "line": 5653
2026-06-13T11:05:52.8350990Z             },
2026-06-13T11:05:52.8351090Z             {
2026-06-13T11:05:52.8351215Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8351328Z               "line": 5680
2026-06-13T11:05:52.8351430Z             }
2026-06-13T11:05:52.8351535Z           ]
2026-06-13T11:05:52.8351643Z         }
2026-06-13T11:05:52.8351740Z       }
2026-06-13T11:05:52.8351948Z     },
2026-06-13T11:05:52.8352050Z     {
2026-06-13T11:05:52.8352163Z       "id": "REQ-FRONT-1",
2026-06-13T11:05:52.8352360Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-13T11:05:52.8352478Z       "requiredStages": [],
2026-06-13T11:05:52.8352588Z       "stages": {
2026-06-13T11:05:52.8352783Z         "doc": {
2026-06-13T11:05:52.8352902Z           "complete": false,
2026-06-13T11:05:52.8353009Z           "evidence": []
2026-06-13T11:05:52.8353112Z         },
2026-06-13T11:05:52.8353211Z         "impl": {
2026-06-13T11:05:52.8353330Z           "complete": false,
2026-06-13T11:05:52.8353443Z           "evidence": []
2026-06-13T11:05:52.8353542Z         },
2026-06-13T11:05:52.8353648Z         "int": {
2026-06-13T11:05:52.8353753Z           "complete": false,
2026-06-13T11:05:52.8353867Z           "evidence": []
2026-06-13T11:05:52.8353968Z         },
2026-06-13T11:05:52.8354073Z         "unit": {
2026-06-13T11:05:52.8354181Z           "complete": false,
2026-06-13T11:05:52.8354302Z           "evidence": []
2026-06-13T11:05:52.8354411Z         }
2026-06-13T11:05:52.8354510Z       }
2026-06-13T11:05:52.8354612Z     },
2026-06-13T11:05:52.8354711Z     {
2026-06-13T11:05:52.8354883Z       "id": "REQ-HAZARD-BRAIN-RESPAWN-PATH",
2026-06-13T11:05:52.8357442Z       "title": "The broker respawns the brain onto the APPLIED bytes, not the renamed old binary: the candidate-binary default is the canonical exe path captured ONCE at broker start, never a per-spawn std::env::current_exe() — on Linux current_exe (readlink /proc/self/exe) is inode-tracking and follows the `apply` rename (spt -> spt.old-N), so a resident broker would respawn the brain onto OLD bytes while recording `applied` (Windows GetModuleFileName is path-at-start, so Windows was green; ADR-0018 Q3 silently assumed path-string semantics). Backstop: promotion gates on bytes — a trial promotes only if brain.ready exe_hash == the staged artifact hash for this platform, else auto-rollback + loud notif (readiness != new-bytes was the false-success that recorded applied:8 over a v0.4.0 brain on kitsubito, 2026-06-11). KNOWN-HAZARDS 6.11.",
2026-06-13T11:05:52.8357580Z       "requiredStages": [
2026-06-13T11:05:52.8357681Z         "doc",
2026-06-13T11:05:52.8357792Z         "impl",
2026-06-13T11:05:52.8357891Z         "unit",
2026-06-13T11:05:52.8358000Z         "int"
2026-06-13T11:05:52.8358106Z       ],
2026-06-13T11:05:52.8358210Z       "stages": {
2026-06-13T11:05:52.8358313Z         "doc": {
2026-06-13T11:05:52.8358423Z           "complete": true,
2026-06-13T11:05:52.8358537Z           "evidence": [
2026-06-13T11:05:52.8358630Z             {
2026-06-13T11:05:52.8358769Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8358880Z               "line": 319
2026-06-13T11:05:52.8359409Z             }
2026-06-13T11:05:52.8359518Z           ]
2026-06-13T11:05:52.8359617Z         },
2026-06-13T11:05:52.8359728Z         "impl": {
2026-06-13T11:05:52.8359842Z           "complete": true,
2026-06-13T11:05:52.8359961Z           "evidence": [
2026-06-13T11:05:52.8360057Z             {
2026-06-13T11:05:52.8360214Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8360324Z               "line": 480
2026-06-13T11:05:52.8360424Z             },
2026-06-13T11:05:52.8360524Z             {
2026-06-13T11:05:52.8360673Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8360786Z               "line": 485
2026-06-13T11:05:52.8360881Z             },
2026-06-13T11:05:52.8360973Z             {
2026-06-13T11:05:52.8361124Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8361223Z               "line": 860
2026-06-13T11:05:52.8361319Z             },
2026-06-13T11:05:52.8361418Z             {
2026-06-13T11:05:52.8361560Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8361660Z               "line": 901
2026-06-13T11:05:52.8361761Z             },
2026-06-13T11:05:52.8361860Z             {
2026-06-13T11:05:52.8362127Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8362237Z               "line": 912
2026-06-13T11:05:52.8362333Z             },
2026-06-13T11:05:52.8362433Z             {
2026-06-13T11:05:52.8362581Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:52.8362681Z               "line": 358
2026-06-13T11:05:52.8362866Z             }
2026-06-13T11:05:52.8362967Z           ]
2026-06-13T11:05:52.8363066Z         },
2026-06-13T11:05:52.8363172Z         "int": {
2026-06-13T11:05:52.8363287Z           "complete": true,
2026-06-13T11:05:52.8363395Z           "evidence": [
2026-06-13T11:05:52.8363496Z             {
2026-06-13T11:05:52.8363663Z               "path": "crates/spt/tests/brain_respawn_rename.rs",
2026-06-13T11:05:52.8363772Z               "line": 30
2026-06-13T11:05:52.8363876Z             }
2026-06-13T11:05:52.8363976Z           ]
2026-06-13T11:05:52.8364074Z         },
2026-06-13T11:05:52.8364179Z         "unit": {
2026-06-13T11:05:52.8364300Z           "complete": true,
2026-06-13T11:05:52.8364412Z           "evidence": [
2026-06-13T11:05:52.8364513Z             {
2026-06-13T11:05:52.8364656Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8364765Z               "line": 1453
2026-06-13T11:05:52.8364872Z             },
2026-06-13T11:05:52.8364981Z             {
2026-06-13T11:05:52.8365119Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8365228Z               "line": 1478
2026-06-13T11:05:52.8365328Z             },
2026-06-13T11:05:52.8365438Z             {
2026-06-13T11:05:52.8365576Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8365686Z               "line": 1495
2026-06-13T11:05:52.8365792Z             },
2026-06-13T11:05:52.8365891Z             {
2026-06-13T11:05:52.8366039Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8366145Z               "line": 1538
2026-06-13T11:05:52.8366248Z             }
2026-06-13T11:05:52.8366354Z           ]
2026-06-13T11:05:52.8366460Z         }
2026-06-13T11:05:52.8366567Z       }
2026-06-13T11:05:52.8366662Z     },
2026-06-13T11:05:52.8366768Z     {
2026-06-13T11:05:52.8366910Z       "id": "REQ-HAZARD-BROKER-PROCESS-ISOLATION",
2026-06-13T11:05:52.8370050Z       "title": "Broker and brain are separate processes: the broker runs as its own long-lived per-machine process that survives every brain restart, so a routine (brain-only) self-update restarts the brain onto the swapped binary while every hosted endpoint (PTY child, live QUIC conn, listening socket) stays untouched at the PROCESS level. The in-process-thread broker (daemon.rs:165-170) is a regression that silently unrealizes REQ-UPD-3 — apply degrades to an in-process Brain::handoff no-op and new code does not run until an unrelated restart (KNOWN-HAZARDS 6.7). Evidence must prove process-level survival (SPIKE-01/03 productionized as int: PTY child + live QUIC survive a brain-PROCESS restart onto a swapped binary), re-pointing the regression-masked in-process int tags currently on REQ-DAEMON-2 / REQ-UPD-3 (ADR-0018).",
2026-06-13T11:05:52.8370255Z       "requiredStages": [
2026-06-13T11:05:52.8370369Z         "doc",
2026-06-13T11:05:52.8370473Z         "impl",
2026-06-13T11:05:52.8370579Z         "unit",
2026-06-13T11:05:52.8370679Z         "int"
2026-06-13T11:05:52.8370788Z       ],
2026-06-13T11:05:52.8370894Z       "stages": {
2026-06-13T11:05:52.8370998Z         "doc": {
2026-06-13T11:05:52.8371117Z           "complete": true,
2026-06-13T11:05:52.8371228Z           "evidence": [
2026-06-13T11:05:52.8371337Z             {
2026-06-13T11:05:52.8371475Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8371586Z               "line": 288
2026-06-13T11:05:52.8371684Z             }
2026-06-13T11:05:52.8371793Z           ]
2026-06-13T11:05:52.8371894Z         },
2026-06-13T11:05:52.8371997Z         "impl": {
2026-06-13T11:05:52.8372115Z           "complete": true,
2026-06-13T11:05:52.8372220Z           "evidence": [
2026-06-13T11:05:52.8372531Z             {
2026-06-13T11:05:52.8372687Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:52.8372807Z               "line": 108
2026-06-13T11:05:52.8372907Z             },
2026-06-13T11:05:52.8373007Z             {
2026-06-13T11:05:52.8373151Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8373355Z               "line": 729
2026-06-13T11:05:52.8373461Z             },
2026-06-13T11:05:52.8373561Z             {
2026-06-13T11:05:52.8373703Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8373814Z               "line": 936
2026-06-13T11:05:52.8373913Z             },
2026-06-13T11:05:52.8374013Z             {
2026-06-13T11:05:52.8374157Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8374265Z               "line": 23
2026-06-13T11:05:52.8374374Z             },
2026-06-13T11:05:52.8374470Z             {
2026-06-13T11:05:52.8374605Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8374725Z               "line": 113
2026-06-13T11:05:52.8374821Z             },
2026-06-13T11:05:52.8374920Z             {
2026-06-13T11:05:52.8375064Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8375178Z               "line": 158
2026-06-13T11:05:52.8375273Z             },
2026-06-13T11:05:52.8375384Z             {
2026-06-13T11:05:52.8375527Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8375640Z               "line": 215
2026-06-13T11:05:52.8375741Z             },
2026-06-13T11:05:52.8375840Z             {
2026-06-13T11:05:52.8375983Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8376090Z               "line": 247
2026-06-13T11:05:52.8376194Z             },
2026-06-13T11:05:52.8376294Z             {
2026-06-13T11:05:52.8376437Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8376542Z               "line": 261
2026-06-13T11:05:52.8376657Z             },
2026-06-13T11:05:52.8376762Z             {
2026-06-13T11:05:52.8376899Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8377001Z               "line": 306
2026-06-13T11:05:52.8377100Z             },
2026-06-13T11:05:52.8377199Z             {
2026-06-13T11:05:52.8377342Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8377456Z               "line": 333
2026-06-13T11:05:52.8377560Z             },
2026-06-13T11:05:52.8377662Z             {
2026-06-13T11:05:52.8377804Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8377909Z               "line": 345
2026-06-13T11:05:52.8378010Z             },
2026-06-13T11:05:52.8378100Z             {
2026-06-13T11:05:52.8378253Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8378362Z               "line": 359
2026-06-13T11:05:52.8378462Z             },
2026-06-13T11:05:52.8378568Z             {
2026-06-13T11:05:52.8378715Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8378829Z               "line": 386
2026-06-13T11:05:52.8378916Z             },
2026-06-13T11:05:52.8379134Z             {
2026-06-13T11:05:52.8379288Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8379392Z               "line": 629
2026-06-13T11:05:52.8379505Z             },
2026-06-13T11:05:52.8379596Z             {
2026-06-13T11:05:52.8379737Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8379851Z               "line": 958
2026-06-13T11:05:52.8379957Z             },
2026-06-13T11:05:52.8380056Z             {
2026-06-13T11:05:52.8380200Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8380305Z               "line": 111
2026-06-13T11:05:52.8380399Z             },
2026-06-13T11:05:52.8380510Z             {
2026-06-13T11:05:52.8380657Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8380766Z               "line": 296
2026-06-13T11:05:52.8380967Z             },
2026-06-13T11:05:52.8381067Z             {
2026-06-13T11:05:52.8381196Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8381306Z               "line": 368
2026-06-13T11:05:52.8381405Z             },
2026-06-13T11:05:52.8381511Z             {
2026-06-13T11:05:52.8381730Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8381845Z               "line": 380
2026-06-13T11:05:52.8381944Z             },
2026-06-13T11:05:52.8382050Z             {
2026-06-13T11:05:52.8382188Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8382287Z               "line": 716
2026-06-13T11:05:52.8382391Z             },
2026-06-13T11:05:52.8382482Z             {
2026-06-13T11:05:52.8382609Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8382718Z               "line": 181
2026-06-13T11:05:52.8382819Z             },
2026-06-13T11:05:52.8382914Z             {
2026-06-13T11:05:52.8383067Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8383167Z               "line": 223
2026-06-13T11:05:52.8383267Z             },
2026-06-13T11:05:52.8383367Z             {
2026-06-13T11:05:52.8383501Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8383605Z               "line": 234
2026-06-13T11:05:52.8383711Z             },
2026-06-13T11:05:52.8383820Z             {
2026-06-13T11:05:52.8383958Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8384064Z               "line": 260
2026-06-13T11:05:52.8384172Z             },
2026-06-13T11:05:52.8384258Z             {
2026-06-13T11:05:52.8384407Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8384506Z               "line": 56
2026-06-13T11:05:52.8384612Z             },
2026-06-13T11:05:52.8384717Z             {
2026-06-13T11:05:52.8384844Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8384948Z               "line": 188
2026-06-13T11:05:52.8385054Z             },
2026-06-13T11:05:52.8385152Z             {
2026-06-13T11:05:52.8385280Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-13T11:05:52.8385391Z               "line": 63
2026-06-13T11:05:52.8385485Z             },
2026-06-13T11:05:52.8385585Z             {
2026-06-13T11:05:52.8385733Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8385833Z               "line": 258
2026-06-13T11:05:52.8385939Z             },
2026-06-13T11:05:52.8386044Z             {
2026-06-13T11:05:52.8386176Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.8386282Z               "line": 424
2026-06-13T11:05:52.8386377Z             },
2026-06-13T11:05:52.8386486Z             {
2026-06-13T11:05:52.8386612Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8386720Z               "line": 1473
2026-06-13T11:05:52.8386820Z             }
2026-06-13T11:05:52.8386926Z           ]
2026-06-13T11:05:52.8387035Z         },
2026-06-13T11:05:52.8387125Z         "int": {
2026-06-13T11:05:52.8387232Z           "complete": true,
2026-06-13T11:05:52.8387340Z           "evidence": [
2026-06-13T11:05:52.8387445Z             {
2026-06-13T11:05:52.8387594Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-13T11:05:52.8387697Z               "line": 57
2026-06-13T11:05:52.8387801Z             },
2026-06-13T11:05:52.8387902Z             {
2026-06-13T11:05:52.8388049Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-13T11:05:52.8388154Z               "line": 41
2026-06-13T11:05:52.8388260Z             }
2026-06-13T11:05:52.8388364Z           ]
2026-06-13T11:05:52.8388464Z         },
2026-06-13T11:05:52.8388570Z         "unit": {
2026-06-13T11:05:52.8388679Z           "complete": true,
2026-06-13T11:05:52.8388784Z           "evidence": [
2026-06-13T11:05:52.8388885Z             {
2026-06-13T11:05:52.8389157Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:52.8393746Z               "line": 532
2026-06-13T11:05:52.8393888Z             },
2026-06-13T11:05:52.8393999Z             {
2026-06-13T11:05:52.8394175Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:52.8394290Z               "line": 754
2026-06-13T11:05:52.8394390Z             },
2026-06-13T11:05:52.8394499Z             {
2026-06-13T11:05:52.8394804Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8394915Z               "line": 1027
2026-06-13T11:05:52.8395024Z             },
2026-06-13T11:05:52.8395124Z             {
2026-06-13T11:05:52.8395277Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8395390Z               "line": 1061
2026-06-13T11:05:52.8395499Z             },
2026-06-13T11:05:52.8395604Z             {
2026-06-13T11:05:52.8395745Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8395855Z               "line": 1103
2026-06-13T11:05:52.8395956Z             },
2026-06-13T11:05:52.8396074Z             {
2026-06-13T11:05:52.8396223Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8396342Z               "line": 1175
2026-06-13T11:05:52.8396441Z             },
2026-06-13T11:05:52.8396537Z             {
2026-06-13T11:05:52.8396685Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8396794Z               "line": 1188
2026-06-13T11:05:52.8396899Z             },
2026-06-13T11:05:52.8396995Z             {
2026-06-13T11:05:52.8397143Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8397252Z               "line": 1211
2026-06-13T11:05:52.8397352Z             },
2026-06-13T11:05:52.8397458Z             {
2026-06-13T11:05:52.8397600Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8397719Z               "line": 1237
2026-06-13T11:05:52.8397820Z             },
2026-06-13T11:05:52.8397924Z             {
2026-06-13T11:05:52.8398073Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8398187Z               "line": 1251
2026-06-13T11:05:52.8398295Z             },
2026-06-13T11:05:52.8398395Z             {
2026-06-13T11:05:52.8398549Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8398662Z               "line": 1275
2026-06-13T11:05:52.8398762Z             },
2026-06-13T11:05:52.8398873Z             {
2026-06-13T11:05:52.8399131Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8399263Z               "line": 1407
2026-06-13T11:05:52.8399363Z             },
2026-06-13T11:05:52.8399473Z             {
2026-06-13T11:05:52.8399620Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8399731Z               "line": 1583
2026-06-13T11:05:52.8399830Z             },
2026-06-13T11:05:52.8399930Z             {
2026-06-13T11:05:52.8400075Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8400183Z               "line": 1638
2026-06-13T11:05:52.8400298Z             },
2026-06-13T11:05:52.8400399Z             {
2026-06-13T11:05:52.8400540Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8400650Z               "line": 1684
2026-06-13T11:05:52.8400749Z             },
2026-06-13T11:05:52.8400857Z             {
2026-06-13T11:05:52.8400995Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8401111Z               "line": 1729
2026-06-13T11:05:52.8401224Z             },
2026-06-13T11:05:52.8401320Z             {
2026-06-13T11:05:52.8401467Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8401576Z               "line": 1773
2026-06-13T11:05:52.8401678Z             },
2026-06-13T11:05:52.8401773Z             {
2026-06-13T11:05:52.8401926Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8402035Z               "line": 1815
2026-06-13T11:05:52.8402135Z             },
2026-06-13T11:05:52.8402245Z             {
2026-06-13T11:05:52.8402383Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8402608Z               "line": 1029
2026-06-13T11:05:52.8402712Z             },
2026-06-13T11:05:52.8402817Z             {
2026-06-13T11:05:52.8402961Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8403069Z               "line": 217
2026-06-13T11:05:52.8403285Z             },
2026-06-13T11:05:52.8403384Z             {
2026-06-13T11:05:52.8403526Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8403630Z               "line": 233
2026-06-13T11:05:52.8403734Z             },
2026-06-13T11:05:52.8403839Z             {
2026-06-13T11:05:52.8403982Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8404096Z               "line": 254
2026-06-13T11:05:52.8404197Z             },
2026-06-13T11:05:52.8404302Z             {
2026-06-13T11:05:52.8404443Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8404541Z               "line": 265
2026-06-13T11:05:52.8404650Z             },
2026-06-13T11:05:52.8404749Z             {
2026-06-13T11:05:52.8404893Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8405002Z               "line": 278
2026-06-13T11:05:52.8405097Z             },
2026-06-13T11:05:52.8405198Z             {
2026-06-13T11:05:52.8405345Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8405461Z               "line": 289
2026-06-13T11:05:52.8405556Z             },
2026-06-13T11:05:52.8405650Z             {
2026-06-13T11:05:52.8405790Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8405899Z               "line": 301
2026-06-13T11:05:52.8406007Z             },
2026-06-13T11:05:52.8406102Z             {
2026-06-13T11:05:52.8406244Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8406347Z               "line": 312
2026-06-13T11:05:52.8406453Z             },
2026-06-13T11:05:52.8406549Z             {
2026-06-13T11:05:52.8406739Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8406849Z               "line": 323
2026-06-13T11:05:52.8406949Z             },
2026-06-13T11:05:52.8407049Z             {
2026-06-13T11:05:52.8407188Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8407301Z               "line": 332
2026-06-13T11:05:52.8407403Z             },
2026-06-13T11:05:52.8407497Z             {
2026-06-13T11:05:52.8407635Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8407746Z               "line": 342
2026-06-13T11:05:52.8407850Z             },
2026-06-13T11:05:52.8407950Z             {
2026-06-13T11:05:52.8408089Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-13T11:05:52.8408193Z               "line": 358
2026-06-13T11:05:52.8408299Z             },
2026-06-13T11:05:52.8408400Z             {
2026-06-13T11:05:52.8408542Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8408657Z               "line": 708
2026-06-13T11:05:52.8408757Z             },
2026-06-13T11:05:52.8408860Z             {
2026-06-13T11:05:52.8409095Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8409212Z               "line": 744
2026-06-13T11:05:52.8409318Z             },
2026-06-13T11:05:52.8409413Z             {
2026-06-13T11:05:52.8409556Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.8409662Z               "line": 951
2026-06-13T11:05:52.8409762Z             },
2026-06-13T11:05:52.8409865Z             {
2026-06-13T11:05:52.8410000Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-13T11:05:52.8410110Z               "line": 142
2026-06-13T11:05:52.8410209Z             },
2026-06-13T11:05:52.8410306Z             {
2026-06-13T11:05:52.8410439Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-13T11:05:52.8410548Z               "line": 221
2026-06-13T11:05:52.8410654Z             },
2026-06-13T11:05:52.8410757Z             {
2026-06-13T11:05:52.8411011Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-13T11:05:52.8411114Z               "line": 290
2026-06-13T11:05:52.8411224Z             },
2026-06-13T11:05:52.8411324Z             {
2026-06-13T11:05:52.8411465Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-13T11:05:52.8411667Z               "line": 17
2026-06-13T11:05:52.8411770Z             },
2026-06-13T11:05:52.8411870Z             {
2026-06-13T11:05:52.8412004Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-13T11:05:52.8412108Z               "line": 104
2026-06-13T11:05:52.8412205Z             }
2026-06-13T11:05:52.8412309Z           ]
2026-06-13T11:05:52.8412408Z         }
2026-06-13T11:05:52.8412510Z       }
2026-06-13T11:05:52.8412614Z     },
2026-06-13T11:05:52.8412713Z     {
2026-06-13T11:05:52.8412858Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-13T11:05:52.8413057Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-13T11:05:52.8413178Z       "requiredStages": [
2026-06-13T11:05:52.8413281Z         "impl",
2026-06-13T11:05:52.8413386Z         "unit"
2026-06-13T11:05:52.8413488Z       ],
2026-06-13T11:05:52.8413586Z       "stages": {
2026-06-13T11:05:52.8413687Z         "doc": {
2026-06-13T11:05:52.8413803Z           "complete": false,
2026-06-13T11:05:52.8413920Z           "evidence": []
2026-06-13T11:05:52.8414019Z         },
2026-06-13T11:05:52.8414115Z         "impl": {
2026-06-13T11:05:52.8414233Z           "complete": true,
2026-06-13T11:05:52.8414332Z           "evidence": [
2026-06-13T11:05:52.8414437Z             {
2026-06-13T11:05:52.8414575Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.8414684Z               "line": 149
2026-06-13T11:05:52.8414781Z             },
2026-06-13T11:05:52.8414867Z             {
2026-06-13T11:05:52.8415008Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.8415120Z               "line": 18
2026-06-13T11:05:52.8415219Z             },
2026-06-13T11:05:52.8415323Z             {
2026-06-13T11:05:52.8415453Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.8415557Z               "line": 98
2026-06-13T11:05:52.8415662Z             }
2026-06-13T11:05:52.8415763Z           ]
2026-06-13T11:05:52.8415862Z         },
2026-06-13T11:05:52.8415962Z         "int": {
2026-06-13T11:05:52.8416083Z           "complete": false,
2026-06-13T11:05:52.8416191Z           "evidence": []
2026-06-13T11:05:52.8416292Z         },
2026-06-13T11:05:52.8416393Z         "unit": {
2026-06-13T11:05:52.8416506Z           "complete": true,
2026-06-13T11:05:52.8416614Z           "evidence": [
2026-06-13T11:05:52.8416720Z             {
2026-06-13T11:05:52.8416856Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.8416965Z               "line": 644
2026-06-13T11:05:52.8417071Z             },
2026-06-13T11:05:52.8417161Z             {
2026-06-13T11:05:52.8417289Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.8417391Z               "line": 159
2026-06-13T11:05:52.8417494Z             },
2026-06-13T11:05:52.8417590Z             {
2026-06-13T11:05:52.8417729Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.8417838Z               "line": 231
2026-06-13T11:05:52.8417939Z             }
2026-06-13T11:05:52.8418043Z           ]
2026-06-13T11:05:52.8418148Z         }
2026-06-13T11:05:52.8418248Z       }
2026-06-13T11:05:52.8418348Z     },
2026-06-13T11:05:52.8418444Z     {
2026-06-13T11:05:52.8418588Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-13T11:05:52.8419131Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-13T11:05:52.8419246Z       "requiredStages": [
2026-06-13T11:05:52.8419345Z         "impl",
2026-06-13T11:05:52.8419448Z         "unit"
2026-06-13T11:05:52.8419554Z       ],
2026-06-13T11:05:52.8419655Z       "stages": {
2026-06-13T11:05:52.8419864Z         "doc": {
2026-06-13T11:05:52.8419974Z           "complete": true,
2026-06-13T11:05:52.8420082Z           "evidence": [
2026-06-13T11:05:52.8420179Z             {
2026-06-13T11:05:52.8420317Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8420430Z               "line": 220
2026-06-13T11:05:52.8420527Z             }
2026-06-13T11:05:52.8420717Z           ]
2026-06-13T11:05:52.8420818Z         },
2026-06-13T11:05:52.8420923Z         "impl": {
2026-06-13T11:05:52.8421027Z           "complete": true,
2026-06-13T11:05:52.8421128Z           "evidence": [
2026-06-13T11:05:52.8421228Z             {
2026-06-13T11:05:52.8421375Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.8421481Z               "line": 302
2026-06-13T11:05:52.8421580Z             },
2026-06-13T11:05:52.8421684Z             {
2026-06-13T11:05:52.8421817Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.8421930Z               "line": 257
2026-06-13T11:05:52.8422034Z             },
2026-06-13T11:05:52.8422135Z             {
2026-06-13T11:05:52.8422273Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.8422373Z               "line": 405
2026-06-13T11:05:52.8422479Z             },
2026-06-13T11:05:52.8422578Z             {
2026-06-13T11:05:52.8422726Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T11:05:52.8422845Z               "line": 77
2026-06-13T11:05:52.8422940Z             }
2026-06-13T11:05:52.8423036Z           ]
2026-06-13T11:05:52.8423132Z         },
2026-06-13T11:05:52.8423236Z         "int": {
2026-06-13T11:05:52.8423336Z           "complete": false,
2026-06-13T11:05:52.8423437Z           "evidence": []
2026-06-13T11:05:52.8423537Z         },
2026-06-13T11:05:52.8423641Z         "unit": {
2026-06-13T11:05:52.8423757Z           "complete": true,
2026-06-13T11:05:52.8423880Z           "evidence": [
2026-06-13T11:05:52.8423980Z             {
2026-06-13T11:05:52.8424124Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.8424237Z               "line": 478
2026-06-13T11:05:52.8424344Z             },
2026-06-13T11:05:52.8424443Z             {
2026-06-13T11:05:52.8424594Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.8424699Z               "line": 516
2026-06-13T11:05:52.8424802Z             },
2026-06-13T11:05:52.8424906Z             {
2026-06-13T11:05:52.8425045Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T11:05:52.8425145Z               "line": 166
2026-06-13T11:05:52.8425245Z             }
2026-06-13T11:05:52.8425341Z           ]
2026-06-13T11:05:52.8425441Z         }
2026-06-13T11:05:52.8425540Z       }
2026-06-13T11:05:52.8425637Z     },
2026-06-13T11:05:52.8425736Z     {
2026-06-13T11:05:52.8425884Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-13T11:05:52.8426484Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-13T11:05:52.8426610Z       "requiredStages": [
2026-06-13T11:05:52.8426708Z         "impl",
2026-06-13T11:05:52.8426814Z         "unit"
2026-06-13T11:05:52.8426905Z       ],
2026-06-13T11:05:52.8427019Z       "stages": {
2026-06-13T11:05:52.8427123Z         "doc": {
2026-06-13T11:05:52.8427222Z           "complete": false,
2026-06-13T11:05:52.8427340Z           "evidence": []
2026-06-13T11:05:52.8427440Z         },
2026-06-13T11:05:52.8427544Z         "impl": {
2026-06-13T11:05:52.8427646Z           "complete": true,
2026-06-13T11:05:52.8427749Z           "evidence": [
2026-06-13T11:05:52.8427845Z             {
2026-06-13T11:05:52.8427998Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-13T11:05:52.8428112Z               "line": 22
2026-06-13T11:05:52.8428204Z             },
2026-06-13T11:05:52.8428308Z             {
2026-06-13T11:05:52.8428445Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.8428617Z               "line": 487
2026-06-13T11:05:52.8428722Z             },
2026-06-13T11:05:52.8428818Z             {
2026-06-13T11:05:52.8429042Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-13T11:05:52.8429153Z               "line": 17
2026-06-13T11:05:52.8429251Z             },
2026-06-13T11:05:52.8429487Z             {
2026-06-13T11:05:52.8429623Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-13T11:05:52.8429744Z               "line": 147
2026-06-13T11:05:52.8429844Z             },
2026-06-13T11:05:52.8429942Z             {
2026-06-13T11:05:52.8430089Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8430201Z               "line": 226
2026-06-13T11:05:52.8430300Z             },
2026-06-13T11:05:52.8430395Z             {
2026-06-13T11:05:52.8430543Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8430648Z               "line": 251
2026-06-13T11:05:52.8430754Z             },
2026-06-13T11:05:52.8430858Z             {
2026-06-13T11:05:52.8431000Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8431101Z               "line": 277
2026-06-13T11:05:52.8431206Z             },
2026-06-13T11:05:52.8431305Z             {
2026-06-13T11:05:52.8431449Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.8431573Z               "line": 124
2026-06-13T11:05:52.8431669Z             },
2026-06-13T11:05:52.8431769Z             {
2026-06-13T11:05:52.8431916Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.8432022Z               "line": 224
2026-06-13T11:05:52.8432127Z             }
2026-06-13T11:05:52.8432225Z           ]
2026-06-13T11:05:52.8432325Z         },
2026-06-13T11:05:52.8432430Z         "int": {
2026-06-13T11:05:52.8432551Z           "complete": false,
2026-06-13T11:05:52.8432666Z           "evidence": []
2026-06-13T11:05:52.8432767Z         },
2026-06-13T11:05:52.8432871Z         "unit": {
2026-06-13T11:05:52.8432976Z           "complete": true,
2026-06-13T11:05:52.8433082Z           "evidence": [
2026-06-13T11:05:52.8433181Z             {
2026-06-13T11:05:52.8433325Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-13T11:05:52.8433424Z               "line": 63
2026-06-13T11:05:52.8433524Z             },
2026-06-13T11:05:52.8433630Z             {
2026-06-13T11:05:52.8433773Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-13T11:05:52.8433882Z               "line": 73
2026-06-13T11:05:52.8433983Z             },
2026-06-13T11:05:52.8434082Z             {
2026-06-13T11:05:52.8434230Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-13T11:05:52.8434341Z               "line": 85
2026-06-13T11:05:52.8434435Z             },
2026-06-13T11:05:52.8434541Z             {
2026-06-13T11:05:52.8434684Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T11:05:52.8434793Z               "line": 346
2026-06-13T11:05:52.8434884Z             },
2026-06-13T11:05:52.8434989Z             {
2026-06-13T11:05:52.8435130Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-13T11:05:52.8435231Z               "line": 281
2026-06-13T11:05:52.8435330Z             },
2026-06-13T11:05:52.8435428Z             {
2026-06-13T11:05:52.8435567Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-13T11:05:52.8435687Z               "line": 322
2026-06-13T11:05:52.8435790Z             },
2026-06-13T11:05:52.8435887Z             {
2026-06-13T11:05:52.8436020Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-13T11:05:52.8436129Z               "line": 360
2026-06-13T11:05:52.8436221Z             },
2026-06-13T11:05:52.8436331Z             {
2026-06-13T11:05:52.8436477Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8436578Z               "line": 688
2026-06-13T11:05:52.8436678Z             },
2026-06-13T11:05:52.8436782Z             {
2026-06-13T11:05:52.8436921Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.8437155Z               "line": 397
2026-06-13T11:05:52.8437259Z             },
2026-06-13T11:05:52.8437359Z             {
2026-06-13T11:05:52.8437504Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.8437602Z               "line": 440
2026-06-13T11:05:52.8437702Z             }
2026-06-13T11:05:52.8437873Z           ]
2026-06-13T11:05:52.8437976Z         }
2026-06-13T11:05:52.8438076Z       }
2026-06-13T11:05:52.8438177Z     },
2026-06-13T11:05:52.8438281Z     {
2026-06-13T11:05:52.8438444Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-13T11:05:52.8438686Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-13T11:05:52.8438806Z       "requiredStages": [
2026-06-13T11:05:52.8438906Z         "impl",
2026-06-13T11:05:52.8439135Z         "unit"
2026-06-13T11:05:52.8439235Z       ],
2026-06-13T11:05:52.8439344Z       "stages": {
2026-06-13T11:05:52.8439446Z         "doc": {
2026-06-13T11:05:52.8439573Z           "complete": false,
2026-06-13T11:05:52.8439679Z           "evidence": []
2026-06-13T11:05:52.8439779Z         },
2026-06-13T11:05:52.8439888Z         "impl": {
2026-06-13T11:05:52.8440004Z           "complete": true,
2026-06-13T11:05:52.8440103Z           "evidence": [
2026-06-13T11:05:52.8440207Z             {
2026-06-13T11:05:52.8440352Z               "path": "crates/spt-term/src/reader.rs",
2026-06-13T11:05:52.8440455Z               "line": 169
2026-06-13T11:05:52.8440559Z             }
2026-06-13T11:05:52.8440664Z           ]
2026-06-13T11:05:52.8440761Z         },
2026-06-13T11:05:52.8440864Z         "int": {
2026-06-13T11:05:52.8440965Z           "complete": true,
2026-06-13T11:05:52.8441066Z           "evidence": [
2026-06-13T11:05:52.8441165Z             {
2026-06-13T11:05:52.8441309Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-13T11:05:52.8441413Z               "line": 44
2026-06-13T11:05:52.8441513Z             },
2026-06-13T11:05:52.8441613Z             {
2026-06-13T11:05:52.8441752Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-13T11:05:52.8441861Z               "line": 66
2026-06-13T11:05:52.8441962Z             }
2026-06-13T11:05:52.8442061Z           ]
2026-06-13T11:05:52.8442162Z         },
2026-06-13T11:05:52.8442263Z         "unit": {
2026-06-13T11:05:52.8442367Z           "complete": true,
2026-06-13T11:05:52.8442471Z           "evidence": [
2026-06-13T11:05:52.8442577Z             {
2026-06-13T11:05:52.8442705Z               "path": "crates/spt-term/src/reader.rs",
2026-06-13T11:05:52.8442818Z               "line": 186
2026-06-13T11:05:52.8442919Z             },
2026-06-13T11:05:52.8443018Z             {
2026-06-13T11:05:52.8443154Z               "path": "crates/spt-term/src/reader.rs",
2026-06-13T11:05:52.8443255Z               "line": 238
2026-06-13T11:05:52.8443361Z             },
2026-06-13T11:05:52.8443459Z             {
2026-06-13T11:05:52.8443599Z               "path": "crates/spt-term/src/reader.rs",
2026-06-13T11:05:52.8443708Z               "line": 266
2026-06-13T11:05:52.8443807Z             }
2026-06-13T11:05:52.8443904Z           ]
2026-06-13T11:05:52.8444009Z         }
2026-06-13T11:05:52.8444108Z       }
2026-06-13T11:05:52.8444205Z     },
2026-06-13T11:05:52.8444309Z     {
2026-06-13T11:05:52.8444452Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-13T11:05:52.8444910Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-13T11:05:52.8445034Z       "requiredStages": [
2026-06-13T11:05:52.8445140Z         "impl",
2026-06-13T11:05:52.8445239Z         "unit",
2026-06-13T11:05:52.8445339Z         "int"
2026-06-13T11:05:52.8445444Z       ],
2026-06-13T11:05:52.8445549Z       "stages": {
2026-06-13T11:05:52.8445647Z         "doc": {
2026-06-13T11:05:52.8445762Z           "complete": false,
2026-06-13T11:05:52.8445871Z           "evidence": []
2026-06-13T11:05:52.8445974Z         },
2026-06-13T11:05:52.8446189Z         "impl": {
2026-06-13T11:05:52.8446308Z           "complete": true,
2026-06-13T11:05:52.8446418Z           "evidence": [
2026-06-13T11:05:52.8446518Z             {
2026-06-13T11:05:52.8446670Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8446776Z               "line": 152
2026-06-13T11:05:52.8446975Z             },
2026-06-13T11:05:52.8447072Z             {
2026-06-13T11:05:52.8447224Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8447338Z               "line": 176
2026-06-13T11:05:52.8447434Z             },
2026-06-13T11:05:52.8447537Z             {
2026-06-13T11:05:52.8447672Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.8447783Z               "line": 79
2026-06-13T11:05:52.8447886Z             },
2026-06-13T11:05:52.8447987Z             {
2026-06-13T11:05:52.8448125Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T11:05:52.8448229Z               "line": 51
2026-06-13T11:05:52.8448343Z             },
2026-06-13T11:05:52.8448438Z             {
2026-06-13T11:05:52.8448579Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8448684Z               "line": 154
2026-06-13T11:05:52.8448786Z             },
2026-06-13T11:05:52.8448889Z             {
2026-06-13T11:05:52.8449147Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T11:05:52.8449270Z               "line": 27
2026-06-13T11:05:52.8449371Z             },
2026-06-13T11:05:52.8449476Z             {
2026-06-13T11:05:52.8449619Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T11:05:52.8449723Z               "line": 79
2026-06-13T11:05:52.8449828Z             },
2026-06-13T11:05:52.8449934Z             {
2026-06-13T11:05:52.8450076Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T11:05:52.8450186Z               "line": 102
2026-06-13T11:05:52.8450287Z             },
2026-06-13T11:05:52.8450391Z             {
2026-06-13T11:05:52.8450525Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8450645Z               "line": 116
2026-06-13T11:05:52.8450743Z             }
2026-06-13T11:05:52.8450844Z           ]
2026-06-13T11:05:52.8450950Z         },
2026-06-13T11:05:52.8451053Z         "int": {
2026-06-13T11:05:52.8451171Z           "complete": true,
2026-06-13T11:05:52.8451277Z           "evidence": [
2026-06-13T11:05:52.8451386Z             {
2026-06-13T11:05:52.8451534Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-13T11:05:52.8451649Z               "line": 38
2026-06-13T11:05:52.8451749Z             }
2026-06-13T11:05:52.8451859Z           ]
2026-06-13T11:05:52.8451959Z         },
2026-06-13T11:05:52.8452058Z         "unit": {
2026-06-13T11:05:52.8452178Z           "complete": true,
2026-06-13T11:05:52.8452283Z           "evidence": [
2026-06-13T11:05:52.8452387Z             {
2026-06-13T11:05:52.8452528Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8452641Z               "line": 628
2026-06-13T11:05:52.8452755Z             },
2026-06-13T11:05:52.8452852Z             {
2026-06-13T11:05:52.8452993Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8453098Z               "line": 351
2026-06-13T11:05:52.8453204Z             },
2026-06-13T11:05:52.8453308Z             {
2026-06-13T11:05:52.8453459Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T11:05:52.8453573Z               "line": 124
2026-06-13T11:05:52.8453672Z             },
2026-06-13T11:05:52.8453777Z             {
2026-06-13T11:05:52.8453916Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T11:05:52.8454029Z               "line": 143
2026-06-13T11:05:52.8454125Z             },
2026-06-13T11:05:52.8454230Z             {
2026-06-13T11:05:52.8454367Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T11:05:52.8454474Z               "line": 160
2026-06-13T11:05:52.8454578Z             },
2026-06-13T11:05:52.8454677Z             {
2026-06-13T11:05:52.8454931Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T11:05:52.8455031Z               "line": 187
2026-06-13T11:05:52.8455141Z             },
2026-06-13T11:05:52.8455245Z             {
2026-06-13T11:05:52.8455380Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-13T11:05:52.8455489Z               "line": 206
2026-06-13T11:05:52.8455685Z             },
2026-06-13T11:05:52.8455790Z             {
2026-06-13T11:05:52.8455928Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8456034Z               "line": 229
2026-06-13T11:05:52.8456137Z             }
2026-06-13T11:05:52.8469264Z           ]
2026-06-13T11:05:52.8469420Z         }
2026-06-13T11:05:52.8469525Z       }
2026-06-13T11:05:52.8469633Z     },
2026-06-13T11:05:52.8469742Z     {
2026-06-13T11:05:52.8469915Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-13T11:05:52.8470624Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-13T11:05:52.8470768Z       "requiredStages": [
2026-06-13T11:05:52.8470886Z         "impl",
2026-06-13T11:05:52.8470991Z         "unit"
2026-06-13T11:05:52.8471088Z       ],
2026-06-13T11:05:52.8471211Z       "stages": {
2026-06-13T11:05:52.8471325Z         "doc": {
2026-06-13T11:05:52.8471446Z           "complete": false,
2026-06-13T11:05:52.8471559Z           "evidence": []
2026-06-13T11:05:52.8471669Z         },
2026-06-13T11:05:52.8471779Z         "impl": {
2026-06-13T11:05:52.8471903Z           "complete": true,
2026-06-13T11:05:52.8472023Z           "evidence": [
2026-06-13T11:05:52.8472127Z             {
2026-06-13T11:05:52.8472292Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8472403Z               "line": 327
2026-06-13T11:05:52.8472516Z             },
2026-06-13T11:05:52.8472621Z             {
2026-06-13T11:05:52.8472769Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8472897Z               "line": 530
2026-06-13T11:05:52.8472999Z             }
2026-06-13T11:05:52.8473108Z           ]
2026-06-13T11:05:52.8473207Z         },
2026-06-13T11:05:52.8473323Z         "int": {
2026-06-13T11:05:52.8473446Z           "complete": false,
2026-06-13T11:05:52.8473565Z           "evidence": []
2026-06-13T11:05:52.8473672Z         },
2026-06-13T11:05:52.8473770Z         "unit": {
2026-06-13T11:05:52.8473894Z           "complete": true,
2026-06-13T11:05:52.8474010Z           "evidence": [
2026-06-13T11:05:52.8474123Z             {
2026-06-13T11:05:52.8474287Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-13T11:05:52.8474395Z               "line": 161
2026-06-13T11:05:52.8474499Z             }
2026-06-13T11:05:52.8474609Z           ]
2026-06-13T11:05:52.8474716Z         }
2026-06-13T11:05:52.8474825Z       }
2026-06-13T11:05:52.8474936Z     },
2026-06-13T11:05:52.8475050Z     {
2026-06-13T11:05:52.8475198Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-13T11:05:52.8475431Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-13T11:05:52.8475551Z       "requiredStages": [
2026-06-13T11:05:52.8475665Z         "impl",
2026-06-13T11:05:52.8475774Z         "unit"
2026-06-13T11:05:52.8475895Z       ],
2026-06-13T11:05:52.8476013Z       "stages": {
2026-06-13T11:05:52.8476118Z         "doc": {
2026-06-13T11:05:52.8476238Z           "complete": false,
2026-06-13T11:05:52.8476351Z           "evidence": []
2026-06-13T11:05:52.8476461Z         },
2026-06-13T11:05:52.8476567Z         "impl": {
2026-06-13T11:05:52.8476690Z           "complete": true,
2026-06-13T11:05:52.8476805Z           "evidence": [
2026-06-13T11:05:52.8476910Z             {
2026-06-13T11:05:52.8477062Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8477173Z               "line": 40
2026-06-13T11:05:52.8477285Z             },
2026-06-13T11:05:52.8477574Z             {
2026-06-13T11:05:52.8477730Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8477856Z               "line": 100
2026-06-13T11:05:52.8477960Z             },
2026-06-13T11:05:52.8478069Z             {
2026-06-13T11:05:52.8478218Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8478438Z               "line": 215
2026-06-13T11:05:52.8478552Z             },
2026-06-13T11:05:52.8478660Z             {
2026-06-13T11:05:52.8478804Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8478914Z               "line": 314
2026-06-13T11:05:52.8479087Z             }
2026-06-13T11:05:52.8479195Z           ]
2026-06-13T11:05:52.8479295Z         },
2026-06-13T11:05:52.8479396Z         "int": {
2026-06-13T11:05:52.8479523Z           "complete": false,
2026-06-13T11:05:52.8479638Z           "evidence": []
2026-06-13T11:05:52.8479740Z         },
2026-06-13T11:05:52.8479852Z         "unit": {
2026-06-13T11:05:52.8479966Z           "complete": true,
2026-06-13T11:05:52.8480090Z           "evidence": [
2026-06-13T11:05:52.8480188Z             {
2026-06-13T11:05:52.8480345Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8480461Z               "line": 352
2026-06-13T11:05:52.8480564Z             },
2026-06-13T11:05:52.8480675Z             {
2026-06-13T11:05:52.8480818Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8480936Z               "line": 409
2026-06-13T11:05:52.8481037Z             },
2026-06-13T11:05:52.8481152Z             {
2026-06-13T11:05:52.8481300Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8481409Z               "line": 458
2026-06-13T11:05:52.8481518Z             },
2026-06-13T11:05:52.8481624Z             {
2026-06-13T11:05:52.8481766Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8481881Z               "line": 479
2026-06-13T11:05:52.8481991Z             }
2026-06-13T11:05:52.8482100Z           ]
2026-06-13T11:05:52.8482215Z         }
2026-06-13T11:05:52.8482330Z       }
2026-06-13T11:05:52.8482433Z     },
2026-06-13T11:05:52.8482544Z     {
2026-06-13T11:05:52.8482692Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-13T11:05:52.8482857Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-13T11:05:52.8482982Z       "requiredStages": [
2026-06-13T11:05:52.8483095Z         "impl",
2026-06-13T11:05:52.8483210Z         "unit"
2026-06-13T11:05:52.8483315Z       ],
2026-06-13T11:05:52.8483424Z       "stages": {
2026-06-13T11:05:52.8483535Z         "doc": {
2026-06-13T11:05:52.8487860Z           "complete": false,
2026-06-13T11:05:52.8488017Z           "evidence": []
2026-06-13T11:05:52.8488125Z         },
2026-06-13T11:05:52.8488243Z         "impl": {
2026-06-13T11:05:52.8488363Z           "complete": true,
2026-06-13T11:05:52.8488482Z           "evidence": [
2026-06-13T11:05:52.8488591Z             {
2026-06-13T11:05:52.8488759Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8488887Z               "line": 113
2026-06-13T11:05:52.8489054Z             },
2026-06-13T11:05:52.8489168Z             {
2026-06-13T11:05:52.8489322Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8489440Z               "line": 208
2026-06-13T11:05:52.8489550Z             }
2026-06-13T11:05:52.8489661Z           ]
2026-06-13T11:05:52.8489778Z         },
2026-06-13T11:05:52.8489883Z         "int": {
2026-06-13T11:05:52.8490004Z           "complete": false,
2026-06-13T11:05:52.8490117Z           "evidence": []
2026-06-13T11:05:52.8490228Z         },
2026-06-13T11:05:52.8490332Z         "unit": {
2026-06-13T11:05:52.8490450Z           "complete": true,
2026-06-13T11:05:52.8490569Z           "evidence": [
2026-06-13T11:05:52.8490673Z             {
2026-06-13T11:05:52.8490819Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8490935Z               "line": 373
2026-06-13T11:05:52.8491044Z             },
2026-06-13T11:05:52.8491143Z             {
2026-06-13T11:05:52.8491477Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8491593Z               "line": 436
2026-06-13T11:05:52.8491702Z             }
2026-06-13T11:05:52.8491811Z           ]
2026-06-13T11:05:52.8491917Z         }
2026-06-13T11:05:52.8492021Z       }
2026-06-13T11:05:52.8492126Z     },
2026-06-13T11:05:52.8492237Z     {
2026-06-13T11:05:52.8492484Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-13T11:05:52.8493813Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-13T11:05:52.8493938Z       "requiredStages": [
2026-06-13T11:05:52.8494041Z         "impl",
2026-06-13T11:05:52.8494143Z         "unit"
2026-06-13T11:05:52.8494248Z       ],
2026-06-13T11:05:52.8494361Z       "stages": {
2026-06-13T11:05:52.8494462Z         "doc": {
2026-06-13T11:05:52.8494581Z           "complete": true,
2026-06-13T11:05:52.8494700Z           "evidence": [
2026-06-13T11:05:52.8494806Z             {
2026-06-13T11:05:52.8494953Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8495059Z               "line": 206
2026-06-13T11:05:52.8495168Z             }
2026-06-13T11:05:52.8495277Z           ]
2026-06-13T11:05:52.8495378Z         },
2026-06-13T11:05:52.8495483Z         "impl": {
2026-06-13T11:05:52.8495600Z           "complete": true,
2026-06-13T11:05:52.8495724Z           "evidence": [
2026-06-13T11:05:52.8495823Z             {
2026-06-13T11:05:52.8495969Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8496085Z               "line": 593
2026-06-13T11:05:52.8496194Z             },
2026-06-13T11:05:52.8496303Z             {
2026-06-13T11:05:52.8496456Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8496580Z               "line": 685
2026-06-13T11:05:52.8496695Z             },
2026-06-13T11:05:52.8496800Z             {
2026-06-13T11:05:52.8496952Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.8497067Z               "line": 183
2026-06-13T11:05:52.8497171Z             }
2026-06-13T11:05:52.8497276Z           ]
2026-06-13T11:05:52.8497396Z         },
2026-06-13T11:05:52.8497509Z         "int": {
2026-06-13T11:05:52.8497625Z           "complete": false,
2026-06-13T11:05:52.8497743Z           "evidence": []
2026-06-13T11:05:52.8497843Z         },
2026-06-13T11:05:52.8497949Z         "unit": {
2026-06-13T11:05:52.8498068Z           "complete": true,
2026-06-13T11:05:52.8498182Z           "evidence": [
2026-06-13T11:05:52.8498288Z             {
2026-06-13T11:05:52.8498439Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8498558Z               "line": 734
2026-06-13T11:05:52.8498653Z             },
2026-06-13T11:05:52.8498756Z             {
2026-06-13T11:05:52.8498908Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-13T11:05:52.8499123Z               "line": 44
2026-06-13T11:05:52.8499233Z             },
2026-06-13T11:05:52.8499333Z             {
2026-06-13T11:05:52.8499480Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-13T11:05:52.8499587Z               "line": 57
2026-06-13T11:05:52.8499700Z             },
2026-06-13T11:05:52.8499800Z             {
2026-06-13T11:05:52.8499962Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-13T11:05:52.8500076Z               "line": 54
2026-06-13T11:05:52.8500182Z             }
2026-06-13T11:05:52.8500286Z           ]
2026-06-13T11:05:52.8500391Z         }
2026-06-13T11:05:52.8500497Z       }
2026-06-13T11:05:52.8500597Z     },
2026-06-13T11:05:52.8500701Z     {
2026-06-13T11:05:52.8500860Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-13T11:05:52.8501100Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-13T11:05:52.8501323Z       "requiredStages": [
2026-06-13T11:05:52.8501446Z         "impl",
2026-06-13T11:05:52.8501562Z         "unit"
2026-06-13T11:05:52.8501661Z       ],
2026-06-13T11:05:52.8501771Z       "stages": {
2026-06-13T11:05:52.8501876Z         "doc": {
2026-06-13T11:05:52.8501995Z           "complete": false,
2026-06-13T11:05:52.8502195Z           "evidence": []
2026-06-13T11:05:52.8502290Z         },
2026-06-13T11:05:52.8502396Z         "impl": {
2026-06-13T11:05:52.8502515Z           "complete": true,
2026-06-13T11:05:52.8502633Z           "evidence": [
2026-06-13T11:05:52.8502744Z             {
2026-06-13T11:05:52.8502892Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T11:05:52.8503001Z               "line": 26
2026-06-13T11:05:52.8503107Z             },
2026-06-13T11:05:52.8503225Z             {
2026-06-13T11:05:52.8503364Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T11:05:52.8503478Z               "line": 135
2026-06-13T11:05:52.8503583Z             },
2026-06-13T11:05:52.8503679Z             {
2026-06-13T11:05:52.8503830Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T11:05:52.8503943Z               "line": 26
2026-06-13T11:05:52.8504045Z             },
2026-06-13T11:05:52.8504145Z             {
2026-06-13T11:05:52.8504302Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T11:05:52.8504431Z               "line": 237
2026-06-13T11:05:52.8504530Z             }
2026-06-13T11:05:52.8504640Z           ]
2026-06-13T11:05:52.8504746Z         },
2026-06-13T11:05:52.8504850Z         "int": {
2026-06-13T11:05:52.8504964Z           "complete": false,
2026-06-13T11:05:52.8505094Z           "evidence": []
2026-06-13T11:05:52.8505231Z         },
2026-06-13T11:05:52.8505347Z         "unit": {
2026-06-13T11:05:52.8505465Z           "complete": true,
2026-06-13T11:05:52.8505575Z           "evidence": [
2026-06-13T11:05:52.8505685Z             {
2026-06-13T11:05:52.8505828Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T11:05:52.8505953Z               "line": 161
2026-06-13T11:05:52.8506061Z             },
2026-06-13T11:05:52.8506170Z             {
2026-06-13T11:05:52.8506317Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T11:05:52.8506430Z               "line": 170
2026-06-13T11:05:52.8506544Z             },
2026-06-13T11:05:52.8506650Z             {
2026-06-13T11:05:52.8506791Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T11:05:52.8506907Z               "line": 179
2026-06-13T11:05:52.8507011Z             },
2026-06-13T11:05:52.8507120Z             {
2026-06-13T11:05:52.8507260Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T11:05:52.8507379Z               "line": 190
2026-06-13T11:05:52.8507483Z             },
2026-06-13T11:05:52.8507599Z             {
2026-06-13T11:05:52.8507741Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T11:05:52.8507856Z               "line": 199
2026-06-13T11:05:52.8507970Z             },
2026-06-13T11:05:52.8508084Z             {
2026-06-13T11:05:52.8508224Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T11:05:52.8508341Z               "line": 216
2026-06-13T11:05:52.8508447Z             },
2026-06-13T11:05:52.8508553Z             {
2026-06-13T11:05:52.8508690Z               "path": "crates/spt-live/src/context.rs",
2026-06-13T11:05:52.8508815Z               "line": 242
2026-06-13T11:05:52.8508924Z             },
2026-06-13T11:05:52.8509103Z             {
2026-06-13T11:05:52.8509251Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.8509363Z               "line": 295
2026-06-13T11:05:52.8509478Z             },
2026-06-13T11:05:52.8509579Z             {
2026-06-13T11:05:52.8509726Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T11:05:52.8509837Z               "line": 244
2026-06-13T11:05:52.8509946Z             },
2026-06-13T11:05:52.8510055Z             {
2026-06-13T11:05:52.8510203Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T11:05:52.8510423Z               "line": 265
2026-06-13T11:05:52.8510527Z             },
2026-06-13T11:05:52.8510636Z             {
2026-06-13T11:05:52.8510786Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T11:05:52.8510908Z               "line": 293
2026-06-13T11:05:52.8511018Z             },
2026-06-13T11:05:52.8511218Z             {
2026-06-13T11:05:52.8511372Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T11:05:52.8511486Z               "line": 317
2026-06-13T11:05:52.8511594Z             },
2026-06-13T11:05:52.8511699Z             {
2026-06-13T11:05:52.8511849Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-13T11:05:52.8511963Z               "line": 327
2026-06-13T11:05:52.8512069Z             },
2026-06-13T11:05:52.8512174Z             {
2026-06-13T11:05:52.8512321Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.8512436Z               "line": 540
2026-06-13T11:05:52.8512550Z             }
2026-06-13T11:05:52.8512660Z           ]
2026-06-13T11:05:52.8512770Z         }
2026-06-13T11:05:52.8512874Z       }
2026-06-13T11:05:52.8512990Z     },
2026-06-13T11:05:52.8513089Z     {
2026-06-13T11:05:52.8513241Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-13T11:05:52.8513418Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-13T11:05:52.8513552Z       "requiredStages": [
2026-06-13T11:05:52.8513663Z         "impl",
2026-06-13T11:05:52.8513766Z         "unit"
2026-06-13T11:05:52.8513871Z       ],
2026-06-13T11:05:52.8513982Z       "stages": {
2026-06-13T11:05:52.8514090Z         "doc": {
2026-06-13T11:05:52.8514205Z           "complete": false,
2026-06-13T11:05:52.8514330Z           "evidence": []
2026-06-13T11:05:52.8514438Z         },
2026-06-13T11:05:52.8514542Z         "impl": {
2026-06-13T11:05:52.8514662Z           "complete": true,
2026-06-13T11:05:52.8514771Z           "evidence": [
2026-06-13T11:05:52.8514876Z             {
2026-06-13T11:05:52.8515024Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T11:05:52.8515143Z               "line": 25
2026-06-13T11:05:52.8515254Z             },
2026-06-13T11:05:52.8515358Z             {
2026-06-13T11:05:52.8515501Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.8515611Z               "line": 26
2026-06-13T11:05:52.8515725Z             },
2026-06-13T11:05:52.8515830Z             {
2026-06-13T11:05:52.8515968Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.8516083Z               "line": 159
2026-06-13T11:05:52.8516184Z             }
2026-06-13T11:05:52.8516293Z           ]
2026-06-13T11:05:52.8516412Z         },
2026-06-13T11:05:52.8516523Z         "int": {
2026-06-13T11:05:52.8516640Z           "complete": false,
2026-06-13T11:05:52.8516759Z           "evidence": []
2026-06-13T11:05:52.8516868Z         },
2026-06-13T11:05:52.8516971Z         "unit": {
2026-06-13T11:05:52.8517090Z           "complete": true,
2026-06-13T11:05:52.8517200Z           "evidence": [
2026-06-13T11:05:52.8517300Z             {
2026-06-13T11:05:52.8517438Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T11:05:52.8517558Z               "line": 184
2026-06-13T11:05:52.8517676Z             },
2026-06-13T11:05:52.8517767Z             {
2026-06-13T11:05:52.8517915Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T11:05:52.8518033Z               "line": 236
2026-06-13T11:05:52.8518135Z             },
2026-06-13T11:05:52.8518244Z             {
2026-06-13T11:05:52.8518378Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.8518493Z               "line": 186
2026-06-13T11:05:52.8518602Z             }
2026-06-13T11:05:52.8518711Z           ]
2026-06-13T11:05:52.8518822Z         }
2026-06-13T11:05:52.8518931Z       }
2026-06-13T11:05:52.8519132Z     },
2026-06-13T11:05:52.8519230Z     {
2026-06-13T11:05:52.8519365Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-13T11:05:52.8519559Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-13T11:05:52.8519792Z       "requiredStages": [
2026-06-13T11:05:52.8519900Z         "impl",
2026-06-13T11:05:52.8520005Z         "unit"
2026-06-13T11:05:52.8520101Z       ],
2026-06-13T11:05:52.8520214Z       "stages": {
2026-06-13T11:05:52.8520329Z         "doc": {
2026-06-13T11:05:52.8520439Z           "complete": false,
2026-06-13T11:05:52.8520678Z           "evidence": []
2026-06-13T11:05:52.8520782Z         },
2026-06-13T11:05:52.8520891Z         "impl": {
2026-06-13T11:05:52.8521002Z           "complete": true,
2026-06-13T11:05:52.8521125Z           "evidence": [
2026-06-13T11:05:52.8521235Z             {
2026-06-13T11:05:52.8521374Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8521488Z               "line": 48
2026-06-13T11:05:52.8521593Z             },
2026-06-13T11:05:52.8521703Z             {
2026-06-13T11:05:52.8521850Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8521966Z               "line": 55
2026-06-13T11:05:52.8522079Z             },
2026-06-13T11:05:52.8522187Z             {
2026-06-13T11:05:52.8522331Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8522438Z               "line": 74
2026-06-13T11:05:52.8522547Z             },
2026-06-13T11:05:52.8522653Z             {
2026-06-13T11:05:52.8522795Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8522905Z               "line": 91
2026-06-13T11:05:52.8523010Z             }
2026-06-13T11:05:52.8523119Z           ]
2026-06-13T11:05:52.8523225Z         },
2026-06-13T11:05:52.8523335Z         "int": {
2026-06-13T11:05:52.8523453Z           "complete": false,
2026-06-13T11:05:52.8523569Z           "evidence": []
2026-06-13T11:05:52.8523678Z         },
2026-06-13T11:05:52.8523787Z         "unit": {
2026-06-13T11:05:52.8523908Z           "complete": true,
2026-06-13T11:05:52.8524012Z           "evidence": [
2026-06-13T11:05:52.8524117Z             {
2026-06-13T11:05:52.8524251Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8524369Z               "line": 149
2026-06-13T11:05:52.8524485Z             },
2026-06-13T11:05:52.8524589Z             {
2026-06-13T11:05:52.8524722Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8524833Z               "line": 166
2026-06-13T11:05:52.8524946Z             },
2026-06-13T11:05:52.8525059Z             {
2026-06-13T11:05:52.8525189Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8525298Z               "line": 176
2026-06-13T11:05:52.8525407Z             },
2026-06-13T11:05:52.8525518Z             {
2026-06-13T11:05:52.8525646Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8525761Z               "line": 194
2026-06-13T11:05:52.8525870Z             },
2026-06-13T11:05:52.8525979Z             {
2026-06-13T11:05:52.8526119Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8526223Z               "line": 207
2026-06-13T11:05:52.8526342Z             }
2026-06-13T11:05:52.8526448Z           ]
2026-06-13T11:05:52.8526557Z         }
2026-06-13T11:05:52.8526666Z       }
2026-06-13T11:05:52.8526773Z     },
2026-06-13T11:05:52.8526885Z     {
2026-06-13T11:05:52.8527024Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-13T11:05:52.8527252Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-13T11:05:52.8527400Z       "requiredStages": [
2026-06-13T11:05:52.8527513Z         "impl",
2026-06-13T11:05:52.8527626Z         "unit"
2026-06-13T11:05:52.8527732Z       ],
2026-06-13T11:05:52.8527846Z       "stages": {
2026-06-13T11:05:52.8527955Z         "doc": {
2026-06-13T11:05:52.8528080Z           "complete": false,
2026-06-13T11:05:52.8528194Z           "evidence": []
2026-06-13T11:05:52.8528308Z         },
2026-06-13T11:05:52.8528423Z         "impl": {
2026-06-13T11:05:52.8528532Z           "complete": true,
2026-06-13T11:05:52.8528647Z           "evidence": [
2026-06-13T11:05:52.8528747Z             {
2026-06-13T11:05:52.8529067Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8529181Z               "line": 416
2026-06-13T11:05:52.8529286Z             },
2026-06-13T11:05:52.8529396Z             {
2026-06-13T11:05:52.8529538Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T11:05:52.8529659Z               "line": 26
2026-06-13T11:05:52.8529872Z             }
2026-06-13T11:05:52.8529978Z           ]
2026-06-13T11:05:52.8530086Z         },
2026-06-13T11:05:52.8530195Z         "int": {
2026-06-13T11:05:52.8530324Z           "complete": false,
2026-06-13T11:05:52.8530441Z           "evidence": []
2026-06-13T11:05:52.8530541Z         },
2026-06-13T11:05:52.8530647Z         "unit": {
2026-06-13T11:05:52.8530766Z           "complete": true,
2026-06-13T11:05:52.8530874Z           "evidence": [
2026-06-13T11:05:52.8530976Z             {
2026-06-13T11:05:52.8531118Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T11:05:52.8531224Z               "line": 150
2026-06-13T11:05:52.8531333Z             },
2026-06-13T11:05:52.8531437Z             {
2026-06-13T11:05:52.8531581Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T11:05:52.8531685Z               "line": 208
2026-06-13T11:05:52.8531800Z             }
2026-06-13T11:05:52.8531896Z           ]
2026-06-13T11:05:52.8532000Z         }
2026-06-13T11:05:52.8532115Z       }
2026-06-13T11:05:52.8532211Z     },
2026-06-13T11:05:52.8532315Z     {
2026-06-13T11:05:52.8532458Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-13T11:05:52.8533943Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-13T11:05:52.8534071Z       "requiredStages": [
2026-06-13T11:05:52.8534177Z         "doc",
2026-06-13T11:05:52.8534290Z         "impl",
2026-06-13T11:05:52.8534390Z         "unit"
2026-06-13T11:05:52.8534496Z       ],
2026-06-13T11:05:52.8534614Z       "stages": {
2026-06-13T11:05:52.8534715Z         "doc": {
2026-06-13T11:05:52.8534839Z           "complete": true,
2026-06-13T11:05:52.8534962Z           "evidence": [
2026-06-13T11:05:52.8535068Z             {
2026-06-13T11:05:52.8535210Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8535330Z               "line": 214
2026-06-13T11:05:52.8535436Z             }
2026-06-13T11:05:52.8535539Z           ]
2026-06-13T11:05:52.8535647Z         },
2026-06-13T11:05:52.8535754Z         "impl": {
2026-06-13T11:05:52.8535877Z           "complete": true,
2026-06-13T11:05:52.8535991Z           "evidence": [
2026-06-13T11:05:52.8536102Z             {
2026-06-13T11:05:52.8536263Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8536379Z               "line": 54
2026-06-13T11:05:52.8536483Z             },
2026-06-13T11:05:52.8536587Z             {
2026-06-13T11:05:52.8536750Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8536868Z               "line": 511
2026-06-13T11:05:52.8536984Z             },
2026-06-13T11:05:52.8537093Z             {
2026-06-13T11:05:52.8537250Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8537375Z               "line": 36
2026-06-13T11:05:52.8537484Z             },
2026-06-13T11:05:52.8537594Z             {
2026-06-13T11:05:52.8537741Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8537855Z               "line": 59
2026-06-13T11:05:52.8537960Z             },
2026-06-13T11:05:52.8538059Z             {
2026-06-13T11:05:52.8538210Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8538315Z               "line": 83
2026-06-13T11:05:52.8538430Z             },
2026-06-13T11:05:52.8538529Z             {
2026-06-13T11:05:52.8538792Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8538917Z               "line": 140
2026-06-13T11:05:52.8539102Z             },
2026-06-13T11:05:52.8539207Z             {
2026-06-13T11:05:52.8539346Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8539566Z               "line": 159
2026-06-13T11:05:52.8539684Z             },
2026-06-13T11:05:52.8539788Z             {
2026-06-13T11:05:52.8539951Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8540056Z               "line": 384
2026-06-13T11:05:52.8540156Z             },
2026-06-13T11:05:52.8540261Z             {
2026-06-13T11:05:52.8540418Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8540539Z               "line": 526
2026-06-13T11:05:52.8540646Z             },
2026-06-13T11:05:52.8540760Z             {
2026-06-13T11:05:52.8540907Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8541034Z               "line": 572
2026-06-13T11:05:52.8541139Z             },
2026-06-13T11:05:52.8541250Z             {
2026-06-13T11:05:52.8541387Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.8541502Z               "line": 145
2026-06-13T11:05:52.8541612Z             },
2026-06-13T11:05:52.8541711Z             {
2026-06-13T11:05:52.8541846Z               "path": "crates/spt/src/main.rs",
2026-06-13T11:05:52.8541955Z               "line": 39
2026-06-13T11:05:52.8542069Z             }
2026-06-13T11:05:52.8542184Z           ]
2026-06-13T11:05:52.8542284Z         },
2026-06-13T11:05:52.8542389Z         "int": {
2026-06-13T11:05:52.8542509Z           "complete": false,
2026-06-13T11:05:52.8542627Z           "evidence": []
2026-06-13T11:05:52.8542728Z         },
2026-06-13T11:05:52.8542833Z         "unit": {
2026-06-13T11:05:52.8542956Z           "complete": true,
2026-06-13T11:05:52.8543067Z           "evidence": [
2026-06-13T11:05:52.8543167Z             {
2026-06-13T11:05:52.8543317Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8543436Z               "line": 785
2026-06-13T11:05:52.8543544Z             },
2026-06-13T11:05:52.8543639Z             {
2026-06-13T11:05:52.8543797Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8543897Z               "line": 826
2026-06-13T11:05:52.8544021Z             },
2026-06-13T11:05:52.8544126Z             {
2026-06-13T11:05:52.8544273Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.8544379Z               "line": 900
2026-06-13T11:05:52.8544484Z             }
2026-06-13T11:05:52.8544597Z           ]
2026-06-13T11:05:52.8544703Z         }
2026-06-13T11:05:52.8544807Z       }
2026-06-13T11:05:52.8544907Z     },
2026-06-13T11:05:52.8545014Z     {
2026-06-13T11:05:52.8545156Z       "id": "REQ-HAZARD-ENVELOPE-CR-LINESAFE",
2026-06-13T11:05:52.8546925Z       "title": "Envelope CR-linesafety (4.1): the line-framed EVENT codec must neutralize raw carriage returns — `event_body_escape` folds CRLF/lone-CR to the codec's representable linebreak (`\\n`→`<br>`) BEFORE framing, so a body carrying `\\r` (Windows `echo`/CRLF text crossing nodes) cannot survive into the single-line envelope and trigger a receiver terminal CR→col0 overwrite that corrupts the frame. Robustness on unrepresentable input, NOT a wire-format change (decoder untouched, amp-last invariant held). Belt-and-suspenders: `spt send`/`ring` also trim stdin (parity with `notify`).",
2026-06-13T11:05:52.8547062Z       "requiredStages": [
2026-06-13T11:05:52.8547167Z         "impl",
2026-06-13T11:05:52.8547273Z         "unit"
2026-06-13T11:05:52.8547387Z       ],
2026-06-13T11:05:52.8547491Z       "stages": {
2026-06-13T11:05:52.8547611Z         "doc": {
2026-06-13T11:05:52.8547729Z           "complete": false,
2026-06-13T11:05:52.8547845Z           "evidence": []
2026-06-13T11:05:52.8547949Z         },
2026-06-13T11:05:52.8548068Z         "impl": {
2026-06-13T11:05:52.8548183Z           "complete": true,
2026-06-13T11:05:52.8548401Z           "evidence": [
2026-06-13T11:05:52.8548510Z             {
2026-06-13T11:05:52.8548651Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8548774Z               "line": 31
2026-06-13T11:05:52.8548885Z             }
2026-06-13T11:05:52.8549114Z           ]
2026-06-13T11:05:52.8549418Z         },
2026-06-13T11:05:52.8549524Z         "int": {
2026-06-13T11:05:52.8549652Z           "complete": false,
2026-06-13T11:05:52.8549767Z           "evidence": []
2026-06-13T11:05:52.8549877Z         },
2026-06-13T11:05:52.8549981Z         "unit": {
2026-06-13T11:05:52.8550101Z           "complete": true,
2026-06-13T11:05:52.8550215Z           "evidence": [
2026-06-13T11:05:52.8550325Z             {
2026-06-13T11:05:52.8550488Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8550596Z               "line": 181
2026-06-13T11:05:52.8550702Z             }
2026-06-13T11:05:52.8550803Z           ]
2026-06-13T11:05:52.8550921Z         }
2026-06-13T11:05:52.8551027Z       }
2026-06-13T11:05:52.8551136Z     },
2026-06-13T11:05:52.8551244Z     {
2026-06-13T11:05:52.8551387Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-13T11:05:52.8551585Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-13T11:05:52.8551690Z       "requiredStages": [
2026-06-13T11:05:52.8551819Z         "impl",
2026-06-13T11:05:52.8551923Z         "unit"
2026-06-13T11:05:52.8552024Z       ],
2026-06-13T11:05:52.8552148Z       "stages": {
2026-06-13T11:05:52.8552243Z         "doc": {
2026-06-13T11:05:52.8552368Z           "complete": false,
2026-06-13T11:05:52.8552482Z           "evidence": []
2026-06-13T11:05:52.8552595Z         },
2026-06-13T11:05:52.8552711Z         "impl": {
2026-06-13T11:05:52.8552825Z           "complete": true,
2026-06-13T11:05:52.8552939Z           "evidence": [
2026-06-13T11:05:52.8553040Z             {
2026-06-13T11:05:52.8553197Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8553308Z               "line": 49
2026-06-13T11:05:52.8553426Z             },
2026-06-13T11:05:52.8553535Z             {
2026-06-13T11:05:52.8553679Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8553792Z               "line": 81
2026-06-13T11:05:52.8553887Z             }
2026-06-13T11:05:52.8553987Z           ]
2026-06-13T11:05:52.8554090Z         },
2026-06-13T11:05:52.8554194Z         "int": {
2026-06-13T11:05:52.8554314Z           "complete": false,
2026-06-13T11:05:52.8554424Z           "evidence": []
2026-06-13T11:05:52.8554538Z         },
2026-06-13T11:05:52.8554639Z         "unit": {
2026-06-13T11:05:52.8554767Z           "complete": true,
2026-06-13T11:05:52.8554872Z           "evidence": [
2026-06-13T11:05:52.8554982Z             {
2026-06-13T11:05:52.8555129Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8555240Z               "line": 156
2026-06-13T11:05:52.8555344Z             },
2026-06-13T11:05:52.8555444Z             {
2026-06-13T11:05:52.8555593Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8555697Z               "line": 173
2026-06-13T11:05:52.8555811Z             },
2026-06-13T11:05:52.8555912Z             {
2026-06-13T11:05:52.8556064Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8556180Z               "line": 196
2026-06-13T11:05:52.8556288Z             }
2026-06-13T11:05:52.8556398Z           ]
2026-06-13T11:05:52.8556499Z         }
2026-06-13T11:05:52.8556603Z       }
2026-06-13T11:05:52.8556706Z     },
2026-06-13T11:05:52.8556807Z     {
2026-06-13T11:05:52.8556974Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-13T11:05:52.8557184Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-13T11:05:52.8557308Z       "requiredStages": [
2026-06-13T11:05:52.8557412Z         "impl",
2026-06-13T11:05:52.8557518Z         "unit"
2026-06-13T11:05:52.8557627Z       ],
2026-06-13T11:05:52.8557732Z       "stages": {
2026-06-13T11:05:52.8557979Z         "doc": {
2026-06-13T11:05:52.8558105Z           "complete": false,
2026-06-13T11:05:52.8558223Z           "evidence": []
2026-06-13T11:05:52.8558327Z         },
2026-06-13T11:05:52.8558443Z         "impl": {
2026-06-13T11:05:52.8558565Z           "complete": true,
2026-06-13T11:05:52.8558676Z           "evidence": [
2026-06-13T11:05:52.8558894Z             {
2026-06-13T11:05:52.8559142Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8559293Z               "line": 120
2026-06-13T11:05:52.8559397Z             }
2026-06-13T11:05:52.8559508Z           ]
2026-06-13T11:05:52.8559621Z         },
2026-06-13T11:05:52.8559726Z         "int": {
2026-06-13T11:05:52.8559851Z           "complete": false,
2026-06-13T11:05:52.8559964Z           "evidence": []
2026-06-13T11:05:52.8560075Z         },
2026-06-13T11:05:52.8560184Z         "unit": {
2026-06-13T11:05:52.8560303Z           "complete": true,
2026-06-13T11:05:52.8560423Z           "evidence": [
2026-06-13T11:05:52.8560541Z             {
2026-06-13T11:05:52.8560690Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8560804Z               "line": 212
2026-06-13T11:05:52.8560918Z             },
2026-06-13T11:05:52.8561025Z             {
2026-06-13T11:05:52.8561176Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8561301Z               "line": 221
2026-06-13T11:05:52.8561409Z             },
2026-06-13T11:05:52.8561524Z             {
2026-06-13T11:05:52.8561669Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8561790Z               "line": 229
2026-06-13T11:05:52.8561894Z             },
2026-06-13T11:05:52.8562004Z             {
2026-06-13T11:05:52.8562155Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8562264Z               "line": 239
2026-06-13T11:05:52.8562384Z             },
2026-06-13T11:05:52.8562488Z             {
2026-06-13T11:05:52.8562637Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-13T11:05:52.8562774Z               "line": 249
2026-06-13T11:05:52.8562884Z             }
2026-06-13T11:05:52.8562999Z           ]
2026-06-13T11:05:52.8563103Z         }
2026-06-13T11:05:52.8563213Z       }
2026-06-13T11:05:52.8563314Z     },
2026-06-13T11:05:52.8563428Z     {
2026-06-13T11:05:52.8563577Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-13T11:05:52.8563781Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-13T11:05:52.8563906Z       "requiredStages": [
2026-06-13T11:05:52.8564009Z         "impl",
2026-06-13T11:05:52.8564119Z         "unit"
2026-06-13T11:05:52.8564225Z       ],
2026-06-13T11:05:52.8564338Z       "stages": {
2026-06-13T11:05:52.8564447Z         "doc": {
2026-06-13T11:05:52.8564576Z           "complete": false,
2026-06-13T11:05:52.8564693Z           "evidence": []
2026-06-13T11:05:52.8564797Z         },
2026-06-13T11:05:52.8564913Z         "impl": {
2026-06-13T11:05:52.8565027Z           "complete": true,
2026-06-13T11:05:52.8565151Z           "evidence": [
2026-06-13T11:05:52.8565256Z             {
2026-06-13T11:05:52.8565427Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T11:05:52.8565547Z               "line": 14
2026-06-13T11:05:52.8565656Z             },
2026-06-13T11:05:52.8565766Z             {
2026-06-13T11:05:52.8565904Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T11:05:52.8566027Z               "line": 62
2026-06-13T11:05:52.8566129Z             }
2026-06-13T11:05:52.8566238Z           ]
2026-06-13T11:05:52.8566347Z         },
2026-06-13T11:05:52.8566453Z         "int": {
2026-06-13T11:05:52.8566576Z           "complete": false,
2026-06-13T11:05:52.8566686Z           "evidence": []
2026-06-13T11:05:52.8566797Z         },
2026-06-13T11:05:52.8566905Z         "unit": {
2026-06-13T11:05:52.8567025Z           "complete": true,
2026-06-13T11:05:52.8567154Z           "evidence": [
2026-06-13T11:05:52.8567257Z             {
2026-06-13T11:05:52.8567405Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T11:05:52.8567658Z               "line": 160
2026-06-13T11:05:52.8567768Z             },
2026-06-13T11:05:52.8567873Z             {
2026-06-13T11:05:52.8568016Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T11:05:52.8568130Z               "line": 197
2026-06-13T11:05:52.8568234Z             },
2026-06-13T11:05:52.8568436Z             {
2026-06-13T11:05:52.8568572Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T11:05:52.8568693Z               "line": 219
2026-06-13T11:05:52.8568797Z             }
2026-06-13T11:05:52.8568907Z           ]
2026-06-13T11:05:52.8569112Z         }
2026-06-13T11:05:52.8569212Z       }
2026-06-13T11:05:52.8569323Z     },
2026-06-13T11:05:52.8569422Z     {
2026-06-13T11:05:52.8569545Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-13T11:05:52.8570907Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-13T11:05:52.8571050Z       "requiredStages": [],
2026-06-13T11:05:52.8571168Z       "stages": {
2026-06-13T11:05:52.8571289Z         "doc": {
2026-06-13T11:05:52.8571412Z           "complete": true,
2026-06-13T11:05:52.8571537Z           "evidence": [
2026-06-13T11:05:52.8571641Z             {
2026-06-13T11:05:52.8571783Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8571885Z               "line": 165
2026-06-13T11:05:52.8571988Z             }
2026-06-13T11:05:52.8572084Z           ]
2026-06-13T11:05:52.8572185Z         },
2026-06-13T11:05:52.8576869Z         "impl": {
2026-06-13T11:05:52.8577056Z           "complete": false,
2026-06-13T11:05:52.8577184Z           "evidence": []
2026-06-13T11:05:52.8577295Z         },
2026-06-13T11:05:52.8577422Z         "int": {
2026-06-13T11:05:52.8577537Z           "complete": false,
2026-06-13T11:05:52.8577653Z           "evidence": []
2026-06-13T11:05:52.8577756Z         },
2026-06-13T11:05:52.8577869Z         "unit": {
2026-06-13T11:05:52.8577994Z           "complete": false,
2026-06-13T11:05:52.8578113Z           "evidence": []
2026-06-13T11:05:52.8578232Z         }
2026-06-13T11:05:52.8578328Z       }
2026-06-13T11:05:52.8578437Z     },
2026-06-13T11:05:52.8578542Z     {
2026-06-13T11:05:52.8578700Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-13T11:05:52.8579067Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-13T11:05:52.8579191Z       "requiredStages": [
2026-06-13T11:05:52.8579311Z         "impl",
2026-06-13T11:05:52.8579410Z         "unit"
2026-06-13T11:05:52.8579515Z       ],
2026-06-13T11:05:52.8579616Z       "stages": {
2026-06-13T11:05:52.8579724Z         "doc": {
2026-06-13T11:05:52.8579854Z           "complete": false,
2026-06-13T11:05:52.8579977Z           "evidence": []
2026-06-13T11:05:52.8580081Z         },
2026-06-13T11:05:52.8580181Z         "impl": {
2026-06-13T11:05:52.8580295Z           "complete": true,
2026-06-13T11:05:52.8580403Z           "evidence": [
2026-06-13T11:05:52.8580513Z             {
2026-06-13T11:05:52.8580670Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8580789Z               "line": 76
2026-06-13T11:05:52.8580895Z             },
2026-06-13T11:05:52.8580999Z             {
2026-06-13T11:05:52.8581148Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8581261Z               "line": 167
2026-06-13T11:05:52.8581370Z             },
2026-06-13T11:05:52.8581477Z             {
2026-06-13T11:05:52.8581615Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8581724Z               "line": 233
2026-06-13T11:05:52.8581830Z             },
2026-06-13T11:05:52.8581939Z             {
2026-06-13T11:05:52.8582092Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8582392Z               "line": 272
2026-06-13T11:05:52.8582498Z             }
2026-06-13T11:05:52.8582601Z           ]
2026-06-13T11:05:52.8582702Z         },
2026-06-13T11:05:52.8582808Z         "int": {
2026-06-13T11:05:52.8582934Z           "complete": false,
2026-06-13T11:05:52.8583053Z           "evidence": []
2026-06-13T11:05:52.8583251Z         },
2026-06-13T11:05:52.8583361Z         "unit": {
2026-06-13T11:05:52.8583476Z           "complete": true,
2026-06-13T11:05:52.8583599Z           "evidence": [
2026-06-13T11:05:52.8583704Z             {
2026-06-13T11:05:52.8583857Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8583975Z               "line": 321
2026-06-13T11:05:52.8584077Z             },
2026-06-13T11:05:52.8584181Z             {
2026-06-13T11:05:52.8584329Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8584443Z               "line": 329
2026-06-13T11:05:52.8584553Z             },
2026-06-13T11:05:52.8584663Z             {
2026-06-13T11:05:52.8584810Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8584925Z               "line": 356
2026-06-13T11:05:52.8585036Z             },
2026-06-13T11:05:52.8585144Z             {
2026-06-13T11:05:52.8585284Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8585407Z               "line": 395
2026-06-13T11:05:52.8585515Z             },
2026-06-13T11:05:52.8585624Z             {
2026-06-13T11:05:52.8585761Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8585879Z               "line": 406
2026-06-13T11:05:52.8585990Z             },
2026-06-13T11:05:52.8586095Z             {
2026-06-13T11:05:52.8586238Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8586362Z               "line": 418
2026-06-13T11:05:52.8586466Z             },
2026-06-13T11:05:52.8586571Z             {
2026-06-13T11:05:52.8586720Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-13T11:05:52.8586838Z               "line": 442
2026-06-13T11:05:52.8586949Z             }
2026-06-13T11:05:52.8587053Z           ]
2026-06-13T11:05:52.8587172Z         }
2026-06-13T11:05:52.8587282Z       }
2026-06-13T11:05:52.8587382Z     },
2026-06-13T11:05:52.8587486Z     {
2026-06-13T11:05:52.8587625Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-13T11:05:52.8587801Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-13T11:05:52.8587926Z       "requiredStages": [
2026-06-13T11:05:52.8588040Z         "impl",
2026-06-13T11:05:52.8588151Z         "int"
2026-06-13T11:05:52.8588255Z       ],
2026-06-13T11:05:52.8588373Z       "stages": {
2026-06-13T11:05:52.8588473Z         "doc": {
2026-06-13T11:05:52.8588598Z           "complete": false,
2026-06-13T11:05:52.8588721Z           "evidence": []
2026-06-13T11:05:52.8588864Z         },
2026-06-13T11:05:52.8589078Z         "impl": {
2026-06-13T11:05:52.8589198Z           "complete": true,
2026-06-13T11:05:52.8589322Z           "evidence": [
2026-06-13T11:05:52.8589431Z             {
2026-06-13T11:05:52.8589584Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8589698Z               "line": 22
2026-06-13T11:05:52.8589809Z             }
2026-06-13T11:05:52.8589918Z           ]
2026-06-13T11:05:52.8590022Z         },
2026-06-13T11:05:52.8590133Z         "int": {
2026-06-13T11:05:52.8590256Z           "complete": true,
2026-06-13T11:05:52.8590371Z           "evidence": [
2026-06-13T11:05:52.8590481Z             {
2026-06-13T11:05:52.8590636Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-13T11:05:52.8590756Z               "line": 18
2026-06-13T11:05:52.8590860Z             }
2026-06-13T11:05:52.8590968Z           ]
2026-06-13T11:05:52.8591073Z         },
2026-06-13T11:05:52.8591184Z         "unit": {
2026-06-13T11:05:52.8591301Z           "complete": false,
2026-06-13T11:05:52.8591421Z           "evidence": []
2026-06-13T11:05:52.8591531Z         }
2026-06-13T11:05:52.8591635Z       }
2026-06-13T11:05:52.8591865Z     },
2026-06-13T11:05:52.8591969Z     {
2026-06-13T11:05:52.8592118Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-13T11:05:52.8592337Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-13T11:05:52.8592465Z       "requiredStages": [
2026-06-13T11:05:52.8592584Z         "impl",
2026-06-13T11:05:52.8592785Z         "unit"
2026-06-13T11:05:52.8592894Z       ],
2026-06-13T11:05:52.8593005Z       "stages": {
2026-06-13T11:05:52.8593123Z         "doc": {
2026-06-13T11:05:52.8593238Z           "complete": false,
2026-06-13T11:05:52.8593358Z           "evidence": []
2026-06-13T11:05:52.8593466Z         },
2026-06-13T11:05:52.8593579Z         "impl": {
2026-06-13T11:05:52.8593704Z           "complete": true,
2026-06-13T11:05:52.8593821Z           "evidence": [
2026-06-13T11:05:52.8593931Z             {
2026-06-13T11:05:52.8594089Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8594211Z               "line": 415
2026-06-13T11:05:52.8594337Z             },
2026-06-13T11:05:52.8594441Z             {
2026-06-13T11:05:52.8594599Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T11:05:52.8594713Z               "line": 27
2026-06-13T11:05:52.8594826Z             }
2026-06-13T11:05:52.8594933Z           ]
2026-06-13T11:05:52.8595046Z         },
2026-06-13T11:05:52.8595166Z         "int": {
2026-06-13T11:05:52.8595286Z           "complete": false,
2026-06-13T11:05:52.8595409Z           "evidence": []
2026-06-13T11:05:52.8595514Z         },
2026-06-13T11:05:52.8595633Z         "unit": {
2026-06-13T11:05:52.8595747Z           "complete": true,
2026-06-13T11:05:52.8595872Z           "evidence": [
2026-06-13T11:05:52.8595990Z             {
2026-06-13T11:05:52.8596141Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8596261Z               "line": 940
2026-06-13T11:05:52.8596368Z             },
2026-06-13T11:05:52.8596478Z             {
2026-06-13T11:05:52.8596622Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T11:05:52.8596759Z               "line": 181
2026-06-13T11:05:52.8596875Z             }
2026-06-13T11:05:52.8596979Z           ]
2026-06-13T11:05:52.8597093Z         }
2026-06-13T11:05:52.8597199Z       }
2026-06-13T11:05:52.8597312Z     },
2026-06-13T11:05:52.8597422Z     {
2026-06-13T11:05:52.8597584Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-13T11:05:52.8597785Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-13T11:05:52.8597908Z       "requiredStages": [
2026-06-13T11:05:52.8598023Z         "impl",
2026-06-13T11:05:52.8598134Z         "unit"
2026-06-13T11:05:52.8598247Z       ],
2026-06-13T11:05:52.8598362Z       "stages": {
2026-06-13T11:05:52.8598477Z         "doc": {
2026-06-13T11:05:52.8598605Z           "complete": false,
2026-06-13T11:05:52.8598720Z           "evidence": []
2026-06-13T11:05:52.8598834Z         },
2026-06-13T11:05:52.8599038Z         "impl": {
2026-06-13T11:05:52.8599163Z           "complete": true,
2026-06-13T11:05:52.8599286Z           "evidence": [
2026-06-13T11:05:52.8599405Z             {
2026-06-13T11:05:52.8599562Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8599667Z               "line": 73
2026-06-13T11:05:52.8599773Z             },
2026-06-13T11:05:52.8599882Z             {
2026-06-13T11:05:52.8600040Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8600154Z               "line": 941
2026-06-13T11:05:52.8600272Z             },
2026-06-13T11:05:52.8600379Z             {
2026-06-13T11:05:52.8600521Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T11:05:52.8600645Z               "line": 20
2026-06-13T11:05:52.8600745Z             },
2026-06-13T11:05:52.8600854Z             {
2026-06-13T11:05:52.8600994Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T11:05:52.8601102Z               "line": 100
2026-06-13T11:05:52.8601211Z             },
2026-06-13T11:05:52.8601321Z             {
2026-06-13T11:05:52.8601609Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-13T11:05:52.8601724Z               "line": 443
2026-06-13T11:05:52.8601828Z             },
2026-06-13T11:05:52.8601928Z             {
2026-06-13T11:05:52.8602077Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-13T11:05:52.8602195Z               "line": 68
2026-06-13T11:05:52.8602420Z             },
2026-06-13T11:05:52.8602529Z             {
2026-06-13T11:05:52.8602678Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-13T11:05:52.8602796Z               "line": 80
2026-06-13T11:05:52.8602917Z             }
2026-06-13T11:05:52.8603040Z           ]
2026-06-13T11:05:52.8603154Z         },
2026-06-13T11:05:52.8603265Z         "int": {
2026-06-13T11:05:52.8603392Z           "complete": true,
2026-06-13T11:05:52.8603503Z           "evidence": [
2026-06-13T11:05:52.8603618Z             {
2026-06-13T11:05:52.8603760Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-13T11:05:52.8603890Z               "line": 44
2026-06-13T11:05:52.8604007Z             }
2026-06-13T11:05:52.8604111Z           ]
2026-06-13T11:05:52.8604221Z         },
2026-06-13T11:05:52.8604329Z         "unit": {
2026-06-13T11:05:52.8604457Z           "complete": true,
2026-06-13T11:05:52.8604568Z           "evidence": [
2026-06-13T11:05:52.8604686Z             {
2026-06-13T11:05:52.8604849Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8604964Z               "line": 1141
2026-06-13T11:05:52.8605081Z             },
2026-06-13T11:05:52.8605188Z             {
2026-06-13T11:05:52.8605344Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.8605459Z               "line": 1157
2026-06-13T11:05:52.8605569Z             },
2026-06-13T11:05:52.8605687Z             {
2026-06-13T11:05:52.8605836Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8605954Z               "line": 1069
2026-06-13T11:05:52.8606064Z             },
2026-06-13T11:05:52.8606185Z             {
2026-06-13T11:05:52.8606331Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T11:05:52.8606447Z               "line": 152
2026-06-13T11:05:52.8606560Z             },
2026-06-13T11:05:52.8606664Z             {
2026-06-13T11:05:52.8606812Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T11:05:52.8606933Z               "line": 175
2026-06-13T11:05:52.8607048Z             },
2026-06-13T11:05:52.8607168Z             {
2026-06-13T11:05:52.8607310Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T11:05:52.8607435Z               "line": 186
2026-06-13T11:05:52.8607544Z             },
2026-06-13T11:05:52.8607657Z             {
2026-06-13T11:05:52.8607796Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T11:05:52.8607920Z               "line": 202
2026-06-13T11:05:52.8608031Z             },
2026-06-13T11:05:52.8608139Z             {
2026-06-13T11:05:52.8608287Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-13T11:05:52.8608408Z               "line": 216
2026-06-13T11:05:52.8608521Z             },
2026-06-13T11:05:52.8608631Z             {
2026-06-13T11:05:52.8608788Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-13T11:05:52.8608912Z               "line": 137
2026-06-13T11:05:52.8609089Z             },
2026-06-13T11:05:52.8609213Z             {
2026-06-13T11:05:52.8609348Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8609469Z               "line": 5988
2026-06-13T11:05:52.8609578Z             },
2026-06-13T11:05:52.8609694Z             {
2026-06-13T11:05:52.8609841Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-13T11:05:52.8609956Z               "line": 30
2026-06-13T11:05:52.8610075Z             },
2026-06-13T11:05:52.8610179Z             {
2026-06-13T11:05:52.8610323Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-13T11:05:52.8610437Z               "line": 73
2026-06-13T11:05:52.8610547Z             }
2026-06-13T11:05:52.8610661Z           ]
2026-06-13T11:05:52.8610886Z         }
2026-06-13T11:05:52.8610995Z       }
2026-06-13T11:05:52.8611104Z     },
2026-06-13T11:05:52.8611210Z     {
2026-06-13T11:05:52.8611338Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-13T11:05:52.8611629Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-13T11:05:52.8611857Z       "requiredStages": [
2026-06-13T11:05:52.8611966Z         "impl",
2026-06-13T11:05:52.8612074Z         "unit"
2026-06-13T11:05:52.8612184Z       ],
2026-06-13T11:05:52.8612299Z       "stages": {
2026-06-13T11:05:52.8612407Z         "doc": {
2026-06-13T11:05:52.8612532Z           "complete": true,
2026-06-13T11:05:52.8612651Z           "evidence": [
2026-06-13T11:05:52.8612755Z             {
2026-06-13T11:05:52.8612900Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8613013Z               "line": 133
2026-06-13T11:05:52.8613128Z             }
2026-06-13T11:05:52.8613223Z           ]
2026-06-13T11:05:52.8613342Z         },
2026-06-13T11:05:52.8613462Z         "impl": {
2026-06-13T11:05:52.8613576Z           "complete": true,
2026-06-13T11:05:52.8613695Z           "evidence": [
2026-06-13T11:05:52.8613806Z             {
2026-06-13T11:05:52.8613952Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T11:05:52.8614068Z               "line": 65
2026-06-13T11:05:52.8614187Z             },
2026-06-13T11:05:52.8614301Z             {
2026-06-13T11:05:52.8614436Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T11:05:52.8614553Z               "line": 17
2026-06-13T11:05:52.8614657Z             },
2026-06-13T11:05:52.8614767Z             {
2026-06-13T11:05:52.8614913Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8615031Z               "line": 146
2026-06-13T11:05:52.8615147Z             },
2026-06-13T11:05:52.8615247Z             {
2026-06-13T11:05:52.8615395Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.8615504Z               "line": 233
2026-06-13T11:05:52.8615613Z             },
2026-06-13T11:05:52.8615719Z             {
2026-06-13T11:05:52.8615871Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.8615990Z               "line": 334
2026-06-13T11:05:52.8616101Z             },
2026-06-13T11:05:52.8616214Z             {
2026-06-13T11:05:52.8616354Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.8616481Z               "line": 32
2026-06-13T11:05:52.8616596Z             },
2026-06-13T11:05:52.8616706Z             {
2026-06-13T11:05:52.8616843Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8616964Z               "line": 4746
2026-06-13T11:05:52.8617083Z             },
2026-06-13T11:05:52.8617186Z             {
2026-06-13T11:05:52.8617329Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8617456Z               "line": 5028
2026-06-13T11:05:52.8617555Z             }
2026-06-13T11:05:52.8617670Z           ]
2026-06-13T11:05:52.8617776Z         },
2026-06-13T11:05:52.8617903Z         "int": {
2026-06-13T11:05:52.8618019Z           "complete": false,
2026-06-13T11:05:52.8618146Z           "evidence": []
2026-06-13T11:05:52.8618247Z         },
2026-06-13T11:05:52.8618352Z         "unit": {
2026-06-13T11:05:52.8618475Z           "complete": true,
2026-06-13T11:05:52.8618582Z           "evidence": [
2026-06-13T11:05:52.8618700Z             {
2026-06-13T11:05:52.8618838Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T11:05:52.8619024Z               "line": 94
2026-06-13T11:05:52.8619138Z             },
2026-06-13T11:05:52.8619240Z             {
2026-06-13T11:05:52.8619376Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T11:05:52.8619487Z               "line": 111
2026-06-13T11:05:52.8619603Z             },
2026-06-13T11:05:52.8619700Z             {
2026-06-13T11:05:52.8619831Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T11:05:52.8619959Z               "line": 124
2026-06-13T11:05:52.8620063Z             },
2026-06-13T11:05:52.8620298Z             {
2026-06-13T11:05:52.8620430Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T11:05:52.8620550Z               "line": 134
2026-06-13T11:05:52.8620659Z             },
2026-06-13T11:05:52.8620758Z             {
2026-06-13T11:05:52.8620897Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T11:05:52.8621107Z               "line": 144
2026-06-13T11:05:52.8621217Z             },
2026-06-13T11:05:52.8621326Z             {
2026-06-13T11:05:52.8621460Z               "path": "crates/spt-proto/src/id.rs",
2026-06-13T11:05:52.8621569Z               "line": 156
2026-06-13T11:05:52.8621688Z             },
2026-06-13T11:05:52.8621795Z             {
2026-06-13T11:05:52.8621955Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8622095Z               "line": 746
2026-06-13T11:05:52.8622213Z             },
2026-06-13T11:05:52.8622331Z             {
2026-06-13T11:05:52.8622479Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.8622601Z               "line": 309
2026-06-13T11:05:52.8622715Z             }
2026-06-13T11:05:52.8622821Z           ]
2026-06-13T11:05:52.8622930Z         }
2026-06-13T11:05:52.8623040Z       }
2026-06-13T11:05:52.8623150Z     },
2026-06-13T11:05:52.8623254Z     {
2026-06-13T11:05:52.8623393Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-13T11:05:52.8623573Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-13T11:05:52.8623698Z       "requiredStages": [
2026-06-13T11:05:52.8623817Z         "impl",
2026-06-13T11:05:52.8623926Z         "unit"
2026-06-13T11:05:52.8624037Z       ],
2026-06-13T11:05:52.8624150Z       "stages": {
2026-06-13T11:05:52.8624269Z         "doc": {
2026-06-13T11:05:52.8624394Z           "complete": false,
2026-06-13T11:05:52.8624512Z           "evidence": []
2026-06-13T11:05:52.8624623Z         },
2026-06-13T11:05:52.8624733Z         "impl": {
2026-06-13T11:05:52.8624861Z           "complete": true,
2026-06-13T11:05:52.8624971Z           "evidence": [
2026-06-13T11:05:52.8625090Z             {
2026-06-13T11:05:52.8625241Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.8625351Z               "line": 128
2026-06-13T11:05:52.8625468Z             }
2026-06-13T11:05:52.8625577Z           ]
2026-06-13T11:05:52.8625688Z         },
2026-06-13T11:05:52.8625797Z         "int": {
2026-06-13T11:05:52.8625935Z           "complete": false,
2026-06-13T11:05:52.8626055Z           "evidence": []
2026-06-13T11:05:52.8626164Z         },
2026-06-13T11:05:52.8626284Z         "unit": {
2026-06-13T11:05:52.8626403Z           "complete": true,
2026-06-13T11:05:52.8626521Z           "evidence": [
2026-06-13T11:05:52.8626632Z             {
2026-06-13T11:05:52.8626789Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.8626909Z               "line": 205
2026-06-13T11:05:52.8627018Z             }
2026-06-13T11:05:52.8627132Z           ]
2026-06-13T11:05:52.8627238Z         }
2026-06-13T11:05:52.8627356Z       }
2026-06-13T11:05:52.8627470Z     },
2026-06-13T11:05:52.8627581Z     {
2026-06-13T11:05:52.8627732Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-13T11:05:52.8627913Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-13T11:05:52.8628040Z       "requiredStages": [
2026-06-13T11:05:52.8628148Z         "impl",
2026-06-13T11:05:52.8628273Z         "unit"
2026-06-13T11:05:52.8628382Z       ],
2026-06-13T11:05:52.8628502Z       "stages": {
2026-06-13T11:05:52.8628621Z         "doc": {
2026-06-13T11:05:52.8628740Z           "complete": false,
2026-06-13T11:05:52.8628865Z           "evidence": []
2026-06-13T11:05:52.8629049Z         },
2026-06-13T11:05:52.8629170Z         "impl": {
2026-06-13T11:05:52.8629288Z           "complete": true,
2026-06-13T11:05:52.8629403Z           "evidence": [
2026-06-13T11:05:52.8629519Z             {
2026-06-13T11:05:52.8629661Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8629781Z               "line": 246
2026-06-13T11:05:52.8629885Z             },
2026-06-13T11:05:52.8630129Z             {
2026-06-13T11:05:52.8630270Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8630391Z               "line": 257
2026-06-13T11:05:52.8630506Z             },
2026-06-13T11:05:52.8630613Z             {
2026-06-13T11:05:52.8630756Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8630961Z               "line": 275
2026-06-13T11:05:52.8631076Z             }
2026-06-13T11:05:52.8631186Z           ]
2026-06-13T11:05:52.8631299Z         },
2026-06-13T11:05:52.8631410Z         "int": {
2026-06-13T11:05:52.8631525Z           "complete": false,
2026-06-13T11:05:52.8631648Z           "evidence": []
2026-06-13T11:05:52.8631754Z         },
2026-06-13T11:05:52.8631868Z         "unit": {
2026-06-13T11:05:52.8631981Z           "complete": true,
2026-06-13T11:05:52.8632106Z           "evidence": [
2026-06-13T11:05:52.8632220Z             {
2026-06-13T11:05:52.8632359Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8632486Z               "line": 299
2026-06-13T11:05:52.8632592Z             },
2026-06-13T11:05:52.8632708Z             {
2026-06-13T11:05:52.8632844Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8632968Z               "line": 320
2026-06-13T11:05:52.8633081Z             },
2026-06-13T11:05:52.8633194Z             {
2026-06-13T11:05:52.8633342Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8633456Z               "line": 547
2026-06-13T11:05:52.8633565Z             },
2026-06-13T11:05:52.8633672Z             {
2026-06-13T11:05:52.8633814Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8633934Z               "line": 558
2026-06-13T11:05:52.8634043Z             },
2026-06-13T11:05:52.8634162Z             {
2026-06-13T11:05:52.8634287Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8634415Z               "line": 571
2026-06-13T11:05:52.8634519Z             }
2026-06-13T11:05:52.8634626Z           ]
2026-06-13T11:05:52.8634749Z         }
2026-06-13T11:05:52.8634853Z       }
2026-06-13T11:05:52.8634969Z     },
2026-06-13T11:05:52.8635078Z     {
2026-06-13T11:05:52.8635227Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-13T11:05:52.8635911Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-13T11:05:52.8636038Z       "requiredStages": [
2026-06-13T11:05:52.8636157Z         "impl",
2026-06-13T11:05:52.8636258Z         "unit"
2026-06-13T11:05:52.8636367Z       ],
2026-06-13T11:05:52.8636471Z       "stages": {
2026-06-13T11:05:52.8636601Z         "doc": {
2026-06-13T11:05:52.8636724Z           "complete": false,
2026-06-13T11:05:52.8636840Z           "evidence": []
2026-06-13T11:05:52.8636958Z         },
2026-06-13T11:05:52.8637067Z         "impl": {
2026-06-13T11:05:52.8637197Z           "complete": true,
2026-06-13T11:05:52.8637316Z           "evidence": [
2026-06-13T11:05:52.8637425Z             {
2026-06-13T11:05:52.8637573Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8637687Z               "line": 759
2026-06-13T11:05:52.8637803Z             }
2026-06-13T11:05:52.8637907Z           ]
2026-06-13T11:05:52.8638035Z         },
2026-06-13T11:05:52.8638141Z         "int": {
2026-06-13T11:05:52.8638273Z           "complete": false,
2026-06-13T11:05:52.8638396Z           "evidence": []
2026-06-13T11:05:52.8638501Z         },
2026-06-13T11:05:52.8638623Z         "unit": {
2026-06-13T11:05:52.8638747Z           "complete": true,
2026-06-13T11:05:52.8638872Z           "evidence": [
2026-06-13T11:05:52.8639062Z             {
2026-06-13T11:05:52.8639215Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8639329Z               "line": 873
2026-06-13T11:05:52.8639439Z             }
2026-06-13T11:05:52.8639558Z           ]
2026-06-13T11:05:52.8639663Z         }
2026-06-13T11:05:52.8639963Z       }
2026-06-13T11:05:52.8640074Z     },
2026-06-13T11:05:52.8640183Z     {
2026-06-13T11:05:52.8640336Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-13T11:05:52.8640578Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-13T11:05:52.8640703Z       "requiredStages": [
2026-06-13T11:05:52.8640912Z         "impl",
2026-06-13T11:05:52.8641023Z         "unit"
2026-06-13T11:05:52.8641131Z       ],
2026-06-13T11:05:52.8641249Z       "stages": {
2026-06-13T11:05:52.8641365Z         "doc": {
2026-06-13T11:05:52.8641488Z           "complete": false,
2026-06-13T11:05:52.8641617Z           "evidence": []
2026-06-13T11:05:52.8641731Z         },
2026-06-13T11:05:52.8641845Z         "impl": {
2026-06-13T11:05:52.8641961Z           "complete": true,
2026-06-13T11:05:52.8642090Z           "evidence": [
2026-06-13T11:05:52.8642208Z             {
2026-06-13T11:05:52.8642356Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T11:05:52.8642479Z               "line": 14
2026-06-13T11:05:52.8642590Z             },
2026-06-13T11:05:52.8642694Z             {
2026-06-13T11:05:52.8642837Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T11:05:52.8642958Z               "line": 440
2026-06-13T11:05:52.8643061Z             }
2026-06-13T11:05:52.8643172Z           ]
2026-06-13T11:05:52.8643287Z         },
2026-06-13T11:05:52.8643390Z         "int": {
2026-06-13T11:05:52.8643508Z           "complete": false,
2026-06-13T11:05:52.8643614Z           "evidence": []
2026-06-13T11:05:52.8643716Z         },
2026-06-13T11:05:52.8643830Z         "unit": {
2026-06-13T11:05:52.8643941Z           "complete": true,
2026-06-13T11:05:52.8644064Z           "evidence": [
2026-06-13T11:05:52.8644169Z             {
2026-06-13T11:05:52.8644303Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T11:05:52.8644412Z               "line": 130
2026-06-13T11:05:52.8644518Z             },
2026-06-13T11:05:52.8644627Z             {
2026-06-13T11:05:52.8644770Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T11:05:52.8644890Z               "line": 138
2026-06-13T11:05:52.8644999Z             },
2026-06-13T11:05:52.8645103Z             {
2026-06-13T11:05:52.8645237Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T11:05:52.8645356Z               "line": 146
2026-06-13T11:05:52.8645482Z             },
2026-06-13T11:05:52.8645590Z             {
2026-06-13T11:05:52.8645733Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T11:05:52.8645858Z               "line": 154
2026-06-13T11:05:52.8646010Z             },
2026-06-13T11:05:52.8646140Z             {
2026-06-13T11:05:52.8646285Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T11:05:52.8646409Z               "line": 162
2026-06-13T11:05:52.8646518Z             },
2026-06-13T11:05:52.8646640Z             {
2026-06-13T11:05:52.8646779Z               "path": "crates/spt/src/api/auth.rs",
2026-06-13T11:05:52.8646903Z               "line": 170
2026-06-13T11:05:52.8647031Z             }
2026-06-13T11:05:52.8647137Z           ]
2026-06-13T11:05:52.8647255Z         }
2026-06-13T11:05:52.8647366Z       }
2026-06-13T11:05:52.8647494Z     },
2026-06-13T11:05:52.8647599Z     {
2026-06-13T11:05:52.8647771Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-13T11:05:52.8648852Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-13T11:05:52.8649071Z       "requiredStages": [
2026-06-13T11:05:52.8649193Z         "impl",
2026-06-13T11:05:52.8649303Z         "unit"
2026-06-13T11:05:52.8649418Z       ],
2026-06-13T11:05:52.8649531Z       "stages": {
2026-06-13T11:05:52.8649632Z         "doc": {
2026-06-13T11:05:52.8649761Z           "complete": false,
2026-06-13T11:05:52.8649879Z           "evidence": []
2026-06-13T11:05:52.8650118Z         },
2026-06-13T11:05:52.8650233Z         "impl": {
2026-06-13T11:05:52.8650352Z           "complete": true,
2026-06-13T11:05:52.8650457Z           "evidence": [
2026-06-13T11:05:52.8650571Z             {
2026-06-13T11:05:52.8650762Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T11:05:52.8650877Z               "line": 34
2026-06-13T11:05:52.8651096Z             }
2026-06-13T11:05:52.8651201Z           ]
2026-06-13T11:05:52.8651315Z         },
2026-06-13T11:05:52.8651434Z         "int": {
2026-06-13T11:05:52.8651555Z           "complete": false,
2026-06-13T11:05:52.8651677Z           "evidence": []
2026-06-13T11:05:52.8651785Z         },
2026-06-13T11:05:52.8651896Z         "unit": {
2026-06-13T11:05:52.8652015Z           "complete": true,
2026-06-13T11:05:52.8652139Z           "evidence": [
2026-06-13T11:05:52.8652245Z             {
2026-06-13T11:05:52.8652419Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T11:05:52.8652526Z               "line": 188
2026-06-13T11:05:52.8652640Z             },
2026-06-13T11:05:52.8652758Z             {
2026-06-13T11:05:52.8652926Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T11:05:52.8653049Z               "line": 200
2026-06-13T11:05:52.8653160Z             },
2026-06-13T11:05:52.8653283Z             {
2026-06-13T11:05:52.8653466Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T11:05:52.8653584Z               "line": 211
2026-06-13T11:05:52.8653697Z             },
2026-06-13T11:05:52.8653799Z             {
2026-06-13T11:05:52.8653969Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T11:05:52.8654088Z               "line": 253
2026-06-13T11:05:52.8654193Z             },
2026-06-13T11:05:52.8654305Z             {
2026-06-13T11:05:52.8654467Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T11:05:52.8654572Z               "line": 277
2026-06-13T11:05:52.8654677Z             },
2026-06-13T11:05:52.8654782Z             {
2026-06-13T11:05:52.8654948Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T11:05:52.8655059Z               "line": 300
2026-06-13T11:05:52.8655163Z             },
2026-06-13T11:05:52.8655267Z             {
2026-06-13T11:05:52.8655431Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-13T11:05:52.8655550Z               "line": 316
2026-06-13T11:05:52.8655654Z             }
2026-06-13T11:05:52.8655760Z           ]
2026-06-13T11:05:52.8655870Z         }
2026-06-13T11:05:52.8655969Z       }
2026-06-13T11:05:52.8656075Z     },
2026-06-13T11:05:52.8656183Z     {
2026-06-13T11:05:52.8656342Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-13T11:05:52.8656930Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-13T11:05:52.8657069Z       "requiredStages": [
2026-06-13T11:05:52.8657177Z         "impl",
2026-06-13T11:05:52.8657292Z         "unit"
2026-06-13T11:05:52.8657387Z       ],
2026-06-13T11:05:52.8657510Z       "stages": {
2026-06-13T11:05:52.8657611Z         "doc": {
2026-06-13T11:05:52.8657740Z           "complete": false,
2026-06-13T11:05:52.8657858Z           "evidence": []
2026-06-13T11:05:52.8657965Z         },
2026-06-13T11:05:52.8658088Z         "impl": {
2026-06-13T11:05:52.8658206Z           "complete": true,
2026-06-13T11:05:52.8658331Z           "evidence": [
2026-06-13T11:05:52.8658431Z             {
2026-06-13T11:05:52.8658584Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8658707Z               "line": 29
2026-06-13T11:05:52.8658822Z             },
2026-06-13T11:05:52.8658938Z             {
2026-06-13T11:05:52.8659170Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8659281Z               "line": 174
2026-06-13T11:05:52.8659384Z             },
2026-06-13T11:05:52.8659617Z             {
2026-06-13T11:05:52.8664158Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8664340Z               "line": 194
2026-06-13T11:05:52.8664445Z             },
2026-06-13T11:05:52.8664553Z             {
2026-06-13T11:05:52.8664724Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8665047Z               "line": 222
2026-06-13T11:05:52.8665152Z             }
2026-06-13T11:05:52.8665256Z           ]
2026-06-13T11:05:52.8665367Z         },
2026-06-13T11:05:52.8665485Z         "int": {
2026-06-13T11:05:52.8665609Z           "complete": false,
2026-06-13T11:05:52.8665733Z           "evidence": []
2026-06-13T11:05:52.8665842Z         },
2026-06-13T11:05:52.8665953Z         "unit": {
2026-06-13T11:05:52.8666081Z           "complete": true,
2026-06-13T11:05:52.8666185Z           "evidence": [
2026-06-13T11:05:52.8666296Z             {
2026-06-13T11:05:52.8666448Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8666606Z               "line": 329
2026-06-13T11:05:52.8666715Z             },
2026-06-13T11:05:52.8666829Z             {
2026-06-13T11:05:52.8666979Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8667097Z               "line": 344
2026-06-13T11:05:52.8667212Z             },
2026-06-13T11:05:52.8667317Z             {
2026-06-13T11:05:52.8667472Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8667591Z               "line": 417
2026-06-13T11:05:52.8667694Z             },
2026-06-13T11:05:52.8667813Z             {
2026-06-13T11:05:52.8667947Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8668070Z               "line": 433
2026-06-13T11:05:52.8668176Z             },
2026-06-13T11:05:52.8668290Z             {
2026-06-13T11:05:52.8668438Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8668553Z               "line": 492
2026-06-13T11:05:52.8668667Z             },
2026-06-13T11:05:52.8668771Z             {
2026-06-13T11:05:52.8668924Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8669144Z               "line": 506
2026-06-13T11:05:52.8669253Z             },
2026-06-13T11:05:52.8669358Z             {
2026-06-13T11:05:52.8669502Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8669625Z               "line": 517
2026-06-13T11:05:52.8669745Z             },
2026-06-13T11:05:52.8669851Z             {
2026-06-13T11:05:52.8669992Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8670110Z               "line": 528
2026-06-13T11:05:52.8670228Z             }
2026-06-13T11:05:52.8670327Z           ]
2026-06-13T11:05:52.8670432Z         }
2026-06-13T11:05:52.8670538Z       }
2026-06-13T11:05:52.8670656Z     },
2026-06-13T11:05:52.8670757Z     {
2026-06-13T11:05:52.8670900Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-13T11:05:52.8671658Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-13T11:05:52.8671782Z       "requiredStages": [
2026-06-13T11:05:52.8671892Z         "impl",
2026-06-13T11:05:52.8671992Z         "unit"
2026-06-13T11:05:52.8672097Z       ],
2026-06-13T11:05:52.8672201Z       "stages": {
2026-06-13T11:05:52.8672326Z         "doc": {
2026-06-13T11:05:52.8672454Z           "complete": false,
2026-06-13T11:05:52.8672569Z           "evidence": []
2026-06-13T11:05:52.8672675Z         },
2026-06-13T11:05:52.8672778Z         "impl": {
2026-06-13T11:05:52.8672905Z           "complete": true,
2026-06-13T11:05:52.8673021Z           "evidence": [
2026-06-13T11:05:52.8673135Z             {
2026-06-13T11:05:52.8673312Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.8673417Z               "line": 27
2026-06-13T11:05:52.8673530Z             },
2026-06-13T11:05:52.8673637Z             {
2026-06-13T11:05:52.8673803Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.8674046Z               "line": 110
2026-06-13T11:05:52.8674150Z             },
2026-06-13T11:05:52.8674266Z             {
2026-06-13T11:05:52.8674422Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.8674542Z               "line": 153
2026-06-13T11:05:52.8674823Z             },
2026-06-13T11:05:52.8674929Z             {
2026-06-13T11:05:52.8675080Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.8675193Z               "line": 182
2026-06-13T11:05:52.8675303Z             },
2026-06-13T11:05:52.8675406Z             {
2026-06-13T11:05:52.8675592Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T11:05:52.8675697Z               "line": 31
2026-06-13T11:05:52.8675816Z             },
2026-06-13T11:05:52.8675917Z             {
2026-06-13T11:05:52.8676083Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T11:05:52.8676217Z               "line": 113
2026-06-13T11:05:52.8676322Z             },
2026-06-13T11:05:52.8676440Z             {
2026-06-13T11:05:52.8676622Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T11:05:52.8676770Z               "line": 138
2026-06-13T11:05:52.8676880Z             }
2026-06-13T11:05:52.8676999Z           ]
2026-06-13T11:05:52.8677118Z         },
2026-06-13T11:05:52.8677228Z         "int": {
2026-06-13T11:05:52.8677361Z           "complete": false,
2026-06-13T11:05:52.8677477Z           "evidence": []
2026-06-13T11:05:52.8677595Z         },
2026-06-13T11:05:52.8677704Z         "unit": {
2026-06-13T11:05:52.8677820Z           "complete": true,
2026-06-13T11:05:52.8677942Z           "evidence": [
2026-06-13T11:05:52.8678051Z             {
2026-06-13T11:05:52.8678213Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.8678325Z               "line": 261
2026-06-13T11:05:52.8678445Z             },
2026-06-13T11:05:52.8678565Z             {
2026-06-13T11:05:52.8678721Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.8678845Z               "line": 276
2026-06-13T11:05:52.8679085Z             },
2026-06-13T11:05:52.8679204Z             {
2026-06-13T11:05:52.8679360Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.8679485Z               "line": 293
2026-06-13T11:05:52.8679598Z             },
2026-06-13T11:05:52.8679709Z             {
2026-06-13T11:05:52.8679865Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.8679980Z               "line": 310
2026-06-13T11:05:52.8680091Z             },
2026-06-13T11:05:52.8680189Z             {
2026-06-13T11:05:52.8680348Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.8680471Z               "line": 327
2026-06-13T11:05:52.8680575Z             },
2026-06-13T11:05:52.8680694Z             {
2026-06-13T11:05:52.8680835Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.8680964Z               "line": 366
2026-06-13T11:05:52.8681060Z             },
2026-06-13T11:05:52.8681169Z             {
2026-06-13T11:05:52.8681332Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T11:05:52.8681442Z               "line": 179
2026-06-13T11:05:52.8681564Z             },
2026-06-13T11:05:52.8681666Z             {
2026-06-13T11:05:52.8681836Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T11:05:52.8681966Z               "line": 194
2026-06-13T11:05:52.8682075Z             },
2026-06-13T11:05:52.8682180Z             {
2026-06-13T11:05:52.8682352Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T11:05:52.8682470Z               "line": 204
2026-06-13T11:05:52.8682576Z             },
2026-06-13T11:05:52.8682685Z             {
2026-06-13T11:05:52.8682847Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T11:05:52.8683105Z               "line": 259
2026-06-13T11:05:52.8683216Z             },
2026-06-13T11:05:52.8683320Z             {
2026-06-13T11:05:52.8683480Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T11:05:52.8683595Z               "line": 269
2026-06-13T11:05:52.8683714Z             },
2026-06-13T11:05:52.8683833Z             {
2026-06-13T11:05:52.8684100Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T11:05:52.8684225Z               "line": 283
2026-06-13T11:05:52.8684325Z             }
2026-06-13T11:05:52.8684438Z           ]
2026-06-13T11:05:52.8684549Z         }
2026-06-13T11:05:52.8684654Z       }
2026-06-13T11:05:52.8684767Z     },
2026-06-13T11:05:52.8684869Z     {
2026-06-13T11:05:52.8685011Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-13T11:05:52.8685226Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-13T11:05:52.8685345Z       "requiredStages": [],
2026-06-13T11:05:52.8685455Z       "stages": {
2026-06-13T11:05:52.8685565Z         "doc": {
2026-06-13T11:05:52.8685687Z           "complete": false,
2026-06-13T11:05:52.8685802Z           "evidence": []
2026-06-13T11:05:52.8685915Z         },
2026-06-13T11:05:52.8686018Z         "impl": {
2026-06-13T11:05:52.8686143Z           "complete": false,
2026-06-13T11:05:52.8686272Z           "evidence": []
2026-06-13T11:05:52.8686386Z         },
2026-06-13T11:05:52.8686496Z         "int": {
2026-06-13T11:05:52.8686615Z           "complete": false,
2026-06-13T11:05:52.8686729Z           "evidence": []
2026-06-13T11:05:52.8686839Z         },
2026-06-13T11:05:52.8686953Z         "unit": {
2026-06-13T11:05:52.8687069Z           "complete": false,
2026-06-13T11:05:52.8687192Z           "evidence": []
2026-06-13T11:05:52.8687310Z         }
2026-06-13T11:05:52.8687412Z       }
2026-06-13T11:05:52.8687521Z     },
2026-06-13T11:05:52.8687616Z     {
2026-06-13T11:05:52.8687784Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-13T11:05:52.8688759Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-13T11:05:52.8688890Z       "requiredStages": [
2026-06-13T11:05:52.8689091Z         "impl",
2026-06-13T11:05:52.8689209Z         "unit"
2026-06-13T11:05:52.8689325Z       ],
2026-06-13T11:05:52.8689425Z       "stages": {
2026-06-13T11:05:52.8689529Z         "doc": {
2026-06-13T11:05:52.8689654Z           "complete": false,
2026-06-13T11:05:52.8689759Z           "evidence": []
2026-06-13T11:05:52.8689867Z         },
2026-06-13T11:05:52.8689969Z         "impl": {
2026-06-13T11:05:52.8690092Z           "complete": true,
2026-06-13T11:05:52.8690197Z           "evidence": [
2026-06-13T11:05:52.8690308Z             {
2026-06-13T11:05:52.8690469Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.8690575Z               "line": 26
2026-06-13T11:05:52.8690689Z             },
2026-06-13T11:05:52.8690793Z             {
2026-06-13T11:05:52.8690952Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.8691064Z               "line": 95
2026-06-13T11:05:52.8691159Z             },
2026-06-13T11:05:52.8691269Z             {
2026-06-13T11:05:52.8691409Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.8691539Z               "line": 166
2026-06-13T11:05:52.8691644Z             },
2026-06-13T11:05:52.8691748Z             {
2026-06-13T11:05:52.8691907Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T11:05:52.8692007Z               "line": 19
2026-06-13T11:05:52.8692120Z             },
2026-06-13T11:05:52.8692231Z             {
2026-06-13T11:05:52.8692373Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T11:05:52.8692483Z               "line": 50
2026-06-13T11:05:52.8692593Z             },
2026-06-13T11:05:52.8692706Z             {
2026-06-13T11:05:52.8693030Z               "path": "crates/spt-live/src/turn.rs",
2026-06-13T11:05:52.8693146Z               "line": 18
2026-06-13T11:05:52.8693250Z             },
2026-06-13T11:05:52.8693364Z             {
2026-06-13T11:05:52.8693504Z               "path": "crates/spt-live/src/turn.rs",
2026-06-13T11:05:52.8693626Z               "line": 71
2026-06-13T11:05:52.8693829Z             },
2026-06-13T11:05:52.8693931Z             {
2026-06-13T11:05:52.8694084Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.8694189Z               "line": 79
2026-06-13T11:05:52.8694312Z             }
2026-06-13T11:05:52.8694408Z           ]
2026-06-13T11:05:52.8694518Z         },
2026-06-13T11:05:52.8694636Z         "int": {
2026-06-13T11:05:52.8694757Z           "complete": false,
2026-06-13T11:05:52.8694876Z           "evidence": []
2026-06-13T11:05:52.8694980Z         },
2026-06-13T11:05:52.8695096Z         "unit": {
2026-06-13T11:05:52.8695214Z           "complete": true,
2026-06-13T11:05:52.8695337Z           "evidence": [
2026-06-13T11:05:52.8695457Z             {
2026-06-13T11:05:52.8695600Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.8695720Z               "line": 289
2026-06-13T11:05:52.8695833Z             },
2026-06-13T11:05:52.8695953Z             {
2026-06-13T11:05:52.8696096Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.8696219Z               "line": 308
2026-06-13T11:05:52.8696333Z             },
2026-06-13T11:05:52.8696437Z             {
2026-06-13T11:05:52.8696583Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.8696699Z               "line": 336
2026-06-13T11:05:52.8696817Z             },
2026-06-13T11:05:52.8696921Z             {
2026-06-13T11:05:52.8697080Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.8697199Z               "line": 399
2026-06-13T11:05:52.8697304Z             },
2026-06-13T11:05:52.8697414Z             {
2026-06-13T11:05:52.8697555Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.8697686Z               "line": 410
2026-06-13T11:05:52.8697790Z             },
2026-06-13T11:05:52.8697909Z             {
2026-06-13T11:05:52.8698057Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.8698162Z               "line": 441
2026-06-13T11:05:52.8698283Z             },
2026-06-13T11:05:52.8698391Z             {
2026-06-13T11:05:52.8698554Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.8698673Z               "line": 452
2026-06-13T11:05:52.8698782Z             },
2026-06-13T11:05:52.8698897Z             {
2026-06-13T11:05:52.8699147Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T11:05:52.8699258Z               "line": 77
2026-06-13T11:05:52.8699365Z             },
2026-06-13T11:05:52.8699469Z             {
2026-06-13T11:05:52.8699614Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T11:05:52.8699723Z               "line": 97
2026-06-13T11:05:52.8699841Z             },
2026-06-13T11:05:52.8699943Z             {
2026-06-13T11:05:52.8700094Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T11:05:52.8700209Z               "line": 112
2026-06-13T11:05:52.8700343Z             },
2026-06-13T11:05:52.8700457Z             {
2026-06-13T11:05:52.8700591Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T11:05:52.8700719Z               "line": 123
2026-06-13T11:05:52.8700820Z             },
2026-06-13T11:05:52.8700934Z             {
2026-06-13T11:05:52.8701072Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T11:05:52.8701197Z               "line": 130
2026-06-13T11:05:52.8701310Z             },
2026-06-13T11:05:52.8701416Z             {
2026-06-13T11:05:52.8701559Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-13T11:05:52.8701672Z               "line": 145
2026-06-13T11:05:52.8701781Z             },
2026-06-13T11:05:52.8701890Z             {
2026-06-13T11:05:52.8702031Z               "path": "crates/spt-live/src/turn.rs",
2026-06-13T11:05:52.8702289Z               "line": 115
2026-06-13T11:05:52.8702394Z             },
2026-06-13T11:05:52.8702514Z             {
2026-06-13T11:05:52.8702646Z               "path": "crates/spt-live/src/turn.rs",
2026-06-13T11:05:52.8702767Z               "line": 130
2026-06-13T11:05:52.8702966Z             },
2026-06-13T11:05:52.8703081Z             {
2026-06-13T11:05:52.8703229Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.8703343Z               "line": 420
2026-06-13T11:05:52.8703458Z             }
2026-06-13T11:05:52.8703563Z           ]
2026-06-13T11:05:52.8703677Z         }
2026-06-13T11:05:52.8703783Z       }
2026-06-13T11:05:52.8703892Z     },
2026-06-13T11:05:52.8704007Z     {
2026-06-13T11:05:52.8704144Z       "id": "REQ-HAZARD-PUMP-IPC-DEADLINE",
2026-06-13T11:05:52.8705016Z       "title": "The single-threaded peer pump's brain-IPC reads are deadline-bounded (PUMP_PEER_IO_TIMEOUT, total-wait per call); a TimedOut read POISONS the client and escalates to a SUPERVISED RESTART, never a per-peer retry — a black-holed peer must never wedge the whole pump",
2026-06-13T11:05:52.8705145Z       "requiredStages": [
2026-06-13T11:05:52.8705258Z         "doc",
2026-06-13T11:05:52.8705374Z         "impl",
2026-06-13T11:05:52.8705483Z         "unit"
2026-06-13T11:05:52.8705646Z       ],
2026-06-13T11:05:52.8705759Z       "stages": {
2026-06-13T11:05:52.8705874Z         "doc": {
2026-06-13T11:05:52.8705995Z           "complete": true,
2026-06-13T11:05:52.8706117Z           "evidence": [
2026-06-13T11:05:52.8706227Z             {
2026-06-13T11:05:52.8706370Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8706484Z               "line": 360
2026-06-13T11:05:52.8706595Z             }
2026-06-13T11:05:52.8706712Z           ]
2026-06-13T11:05:52.8706817Z         },
2026-06-13T11:05:52.8706936Z         "impl": {
2026-06-13T11:05:52.8707058Z           "complete": true,
2026-06-13T11:05:52.8707176Z           "evidence": [
2026-06-13T11:05:52.8707307Z             {
2026-06-13T11:05:52.8707454Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8707573Z               "line": 180
2026-06-13T11:05:52.8707683Z             },
2026-06-13T11:05:52.8707796Z             {
2026-06-13T11:05:52.8707945Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8708068Z               "line": 284
2026-06-13T11:05:52.8708184Z             },
2026-06-13T11:05:52.8708288Z             {
2026-06-13T11:05:52.8708440Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8708551Z               "line": 496
2026-06-13T11:05:52.8708665Z             },
2026-06-13T11:05:52.8708784Z             {
2026-06-13T11:05:52.8708922Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8709123Z               "line": 511
2026-06-13T11:05:52.8709237Z             },
2026-06-13T11:05:52.8709347Z             {
2026-06-13T11:05:52.8709487Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8709618Z               "line": 1038
2026-06-13T11:05:52.8709727Z             },
2026-06-13T11:05:52.8709837Z             {
2026-06-13T11:05:52.8709992Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8710101Z               "line": 443
2026-06-13T11:05:52.8710221Z             },
2026-06-13T11:05:52.8710330Z             {
2026-06-13T11:05:52.8710479Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8710597Z               "line": 590
2026-06-13T11:05:52.8710707Z             },
2026-06-13T11:05:52.8710817Z             {
2026-06-13T11:05:52.8710960Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8711085Z               "line": 731
2026-06-13T11:05:52.8711189Z             }
2026-06-13T11:05:52.8711303Z           ]
2026-06-13T11:05:52.8711414Z         },
2026-06-13T11:05:52.8711523Z         "int": {
2026-06-13T11:05:52.8711646Z           "complete": false,
2026-06-13T11:05:52.8711762Z           "evidence": []
2026-06-13T11:05:52.8712000Z         },
2026-06-13T11:05:52.8712115Z         "unit": {
2026-06-13T11:05:52.8712236Z           "complete": true,
2026-06-13T11:05:52.8712361Z           "evidence": [
2026-06-13T11:05:52.8712464Z             {
2026-06-13T11:05:52.8712615Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.8712863Z               "line": 1155
2026-06-13T11:05:52.8712983Z             },
2026-06-13T11:05:52.8713102Z             {
2026-06-13T11:05:52.8713288Z               "path": "crates/spt-daemon/tests/pumpdeadline.rs",
2026-06-13T11:05:52.8713408Z               "line": 30
2026-06-13T11:05:52.8713517Z             }
2026-06-13T11:05:52.8713632Z           ]
2026-06-13T11:05:52.8713727Z         }
2026-06-13T11:05:52.8713832Z       }
2026-06-13T11:05:52.8713937Z     },
2026-06-13T11:05:52.8714042Z     {
2026-06-13T11:05:52.8714194Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-13T11:05:52.8714471Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-13T11:05:52.8714600Z       "requiredStages": [
2026-06-13T11:05:52.8714704Z         "impl",
2026-06-13T11:05:52.8714814Z         "unit"
2026-06-13T11:05:52.8714911Z       ],
2026-06-13T11:05:52.8715029Z       "stages": {
2026-06-13T11:05:52.8715146Z         "doc": {
2026-06-13T11:05:52.8715271Z           "complete": true,
2026-06-13T11:05:52.8715395Z           "evidence": [
2026-06-13T11:05:52.8715499Z             {
2026-06-13T11:05:52.8715647Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8715752Z               "line": 139
2026-06-13T11:05:52.8715867Z             }
2026-06-13T11:05:52.8715972Z           ]
2026-06-13T11:05:52.8716066Z         },
2026-06-13T11:05:52.8716172Z         "impl": {
2026-06-13T11:05:52.8716296Z           "complete": true,
2026-06-13T11:05:52.8716419Z           "evidence": [
2026-06-13T11:05:52.8716525Z             {
2026-06-13T11:05:52.8716678Z               "path": "crates/spt-store/src/db.rs",
2026-06-13T11:05:52.8716812Z               "line": 29
2026-06-13T11:05:52.8716921Z             },
2026-06-13T11:05:52.8717034Z             {
2026-06-13T11:05:52.8717170Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.8717311Z               "line": 101
2026-06-13T11:05:52.8717424Z             },
2026-06-13T11:05:52.8717535Z             {
2026-06-13T11:05:52.8717694Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8717804Z               "line": 30
2026-06-13T11:05:52.8717919Z             },
2026-06-13T11:05:52.8718028Z             {
2026-06-13T11:05:52.8718176Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8718299Z               "line": 48
2026-06-13T11:05:52.8718410Z             }
2026-06-13T11:05:52.8718524Z           ]
2026-06-13T11:05:52.8718633Z         },
2026-06-13T11:05:52.8718749Z         "int": {
2026-06-13T11:05:52.8718868Z           "complete": false,
2026-06-13T11:05:52.8719068Z           "evidence": []
2026-06-13T11:05:52.8719191Z         },
2026-06-13T11:05:52.8719301Z         "unit": {
2026-06-13T11:05:52.8719422Z           "complete": true,
2026-06-13T11:05:52.8719539Z           "evidence": [
2026-06-13T11:05:52.8719649Z             {
2026-06-13T11:05:52.8719802Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8719921Z               "line": 162
2026-06-13T11:05:52.8720037Z             }
2026-06-13T11:05:52.8720145Z           ]
2026-06-13T11:05:52.8720253Z         }
2026-06-13T11:05:52.8720359Z       }
2026-06-13T11:05:52.8720471Z     },
2026-06-13T11:05:52.8720575Z     {
2026-06-13T11:05:52.8720724Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-13T11:05:52.8721129Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-13T11:05:52.8721257Z       "requiredStages": [
2026-06-13T11:05:52.8721373Z         "doc",
2026-06-13T11:05:52.8721482Z         "impl",
2026-06-13T11:05:52.8721592Z         "unit"
2026-06-13T11:05:52.8721835Z       ],
2026-06-13T11:05:52.8721955Z       "stages": {
2026-06-13T11:05:52.8722073Z         "doc": {
2026-06-13T11:05:52.8722192Z           "complete": true,
2026-06-13T11:05:52.8722308Z           "evidence": [
2026-06-13T11:05:52.8722416Z             {
2026-06-13T11:05:52.8722555Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8722773Z               "line": 151
2026-06-13T11:05:52.8722887Z             }
2026-06-13T11:05:52.8723001Z           ]
2026-06-13T11:05:52.8723104Z         },
2026-06-13T11:05:52.8723219Z         "impl": {
2026-06-13T11:05:52.8723334Z           "complete": true,
2026-06-13T11:05:52.8723456Z           "evidence": [
2026-06-13T11:05:52.8723563Z             {
2026-06-13T11:05:52.8723715Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8723838Z               "line": 22
2026-06-13T11:05:52.8723949Z             }
2026-06-13T11:05:52.8724063Z           ]
2026-06-13T11:05:52.8724163Z         },
2026-06-13T11:05:52.8724292Z         "int": {
2026-06-13T11:05:52.8724406Z           "complete": false,
2026-06-13T11:05:52.8724531Z           "evidence": []
2026-06-13T11:05:52.8724644Z         },
2026-06-13T11:05:52.8724749Z         "unit": {
2026-06-13T11:05:52.8724869Z           "complete": true,
2026-06-13T11:05:52.8724982Z           "evidence": [
2026-06-13T11:05:52.8725103Z             {
2026-06-13T11:05:52.8725250Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8725369Z               "line": 298
2026-06-13T11:05:52.8725490Z             }
2026-06-13T11:05:52.8725593Z           ]
2026-06-13T11:05:52.8725706Z         }
2026-06-13T11:05:52.8725812Z       }
2026-06-13T11:05:52.8725932Z     },
2026-06-13T11:05:52.8726031Z     {
2026-06-13T11:05:52.8726184Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-13T11:05:52.8726655Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-13T11:05:52.8726785Z       "requiredStages": [
2026-06-13T11:05:52.8726904Z         "impl",
2026-06-13T11:05:52.8727013Z         "unit"
2026-06-13T11:05:52.8727124Z       ],
2026-06-13T11:05:52.8727238Z       "stages": {
2026-06-13T11:05:52.8727357Z         "doc": {
2026-06-13T11:05:52.8727477Z           "complete": true,
2026-06-13T11:05:52.8727595Z           "evidence": [
2026-06-13T11:05:52.8727711Z             {
2026-06-13T11:05:52.8727847Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8727970Z               "line": 145
2026-06-13T11:05:52.8728080Z             }
2026-06-13T11:05:52.8728197Z           ]
2026-06-13T11:05:52.8728311Z         },
2026-06-13T11:05:52.8728422Z         "impl": {
2026-06-13T11:05:52.8728550Z           "complete": true,
2026-06-13T11:05:52.8728660Z           "evidence": [
2026-06-13T11:05:52.8728774Z             {
2026-06-13T11:05:52.8728931Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-13T11:05:52.8729133Z               "line": 160
2026-06-13T11:05:52.8729246Z             },
2026-06-13T11:05:52.8729347Z             {
2026-06-13T11:05:52.8729513Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8729628Z               "line": 200
2026-06-13T11:05:52.8729742Z             },
2026-06-13T11:05:52.8729842Z             {
2026-06-13T11:05:52.8729996Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8730128Z               "line": 298
2026-06-13T11:05:52.8730234Z             },
2026-06-13T11:05:52.8730344Z             {
2026-06-13T11:05:52.8730486Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-13T11:05:52.8730607Z               "line": 20
2026-06-13T11:05:52.8730714Z             }
2026-06-13T11:05:52.8730819Z           ]
2026-06-13T11:05:52.8730928Z         },
2026-06-13T11:05:52.8731027Z         "int": {
2026-06-13T11:05:52.8731154Z           "complete": false,
2026-06-13T11:05:52.8731270Z           "evidence": []
2026-06-13T11:05:52.8731374Z         },
2026-06-13T11:05:52.8731599Z         "unit": {
2026-06-13T11:05:52.8731722Z           "complete": true,
2026-06-13T11:05:52.8731842Z           "evidence": [
2026-06-13T11:05:52.8731947Z             {
2026-06-13T11:05:52.8732104Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8732210Z               "line": 885
2026-06-13T11:05:52.8732423Z             },
2026-06-13T11:05:52.8732525Z             {
2026-06-13T11:05:52.8732690Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-13T11:05:52.8732810Z               "line": 88
2026-06-13T11:05:52.8732915Z             },
2026-06-13T11:05:52.8733029Z             {
2026-06-13T11:05:52.8733178Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8733291Z               "line": 819
2026-06-13T11:05:52.8733385Z             },
2026-06-13T11:05:52.8733491Z             {
2026-06-13T11:05:52.8733650Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8733755Z               "line": 838
2026-06-13T11:05:52.8733880Z             },
2026-06-13T11:05:52.8733984Z             {
2026-06-13T11:05:52.8734151Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.8734275Z               "line": 279
2026-06-13T11:05:52.8734375Z             },
2026-06-13T11:05:52.8734485Z             {
2026-06-13T11:05:52.8734627Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-13T11:05:52.8734753Z               "line": 82
2026-06-13T11:05:52.8734861Z             },
2026-06-13T11:05:52.8734971Z             {
2026-06-13T11:05:52.8735124Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-13T11:05:52.8735238Z               "line": 99
2026-06-13T11:05:52.8735348Z             },
2026-06-13T11:05:52.8735458Z             {
2026-06-13T11:05:52.8735605Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-13T11:05:52.8735721Z               "line": 119
2026-06-13T11:05:52.8735834Z             }
2026-06-13T11:05:52.8735944Z           ]
2026-06-13T11:05:52.8736050Z         }
2026-06-13T11:05:52.8736172Z       }
2026-06-13T11:05:52.8736276Z     },
2026-06-13T11:05:52.8736391Z     {
2026-06-13T11:05:52.8736539Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-13T11:05:52.8737912Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-13T11:05:52.8738046Z       "requiredStages": [
2026-06-13T11:05:52.8738155Z         "doc",
2026-06-13T11:05:52.8738271Z         "impl",
2026-06-13T11:05:52.8738384Z         "unit"
2026-06-13T11:05:52.8738498Z       ],
2026-06-13T11:05:52.8738616Z       "stages": {
2026-06-13T11:05:52.8738730Z         "doc": {
2026-06-13T11:05:52.8738857Z           "complete": true,
2026-06-13T11:05:52.8739045Z           "evidence": [
2026-06-13T11:05:52.8739162Z             {
2026-06-13T11:05:52.8739297Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8739420Z               "line": 157
2026-06-13T11:05:52.8739535Z             }
2026-06-13T11:05:52.8739644Z           ]
2026-06-13T11:05:52.8739768Z         },
2026-06-13T11:05:52.8739874Z         "impl": {
2026-06-13T11:05:52.8740002Z           "complete": true,
2026-06-13T11:05:52.8740111Z           "evidence": [
2026-06-13T11:05:52.8740227Z             {
2026-06-13T11:05:52.8740402Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T11:05:52.8740518Z               "line": 137
2026-06-13T11:05:52.8740631Z             },
2026-06-13T11:05:52.8740741Z             {
2026-06-13T11:05:52.8740909Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8741022Z               "line": 512
2026-06-13T11:05:52.8741138Z             },
2026-06-13T11:05:52.8741252Z             {
2026-06-13T11:05:52.8741546Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8741667Z               "line": 519
2026-06-13T11:05:52.8741782Z             },
2026-06-13T11:05:52.8741892Z             {
2026-06-13T11:05:52.8742044Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8742254Z               "line": 227
2026-06-13T11:05:52.8742372Z             }
2026-06-13T11:05:52.8742479Z           ]
2026-06-13T11:05:52.8742588Z         },
2026-06-13T11:05:52.8742697Z         "int": {
2026-06-13T11:05:52.8742822Z           "complete": false,
2026-06-13T11:05:52.8742935Z           "evidence": []
2026-06-13T11:05:52.8743051Z         },
2026-06-13T11:05:52.8743165Z         "unit": {
2026-06-13T11:05:52.8743279Z           "complete": true,
2026-06-13T11:05:52.8743399Z           "evidence": [
2026-06-13T11:05:52.8743508Z             {
2026-06-13T11:05:52.8743676Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8743799Z               "line": 1515
2026-06-13T11:05:52.8743913Z             },
2026-06-13T11:05:52.8744026Z             {
2026-06-13T11:05:52.8744177Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8744300Z               "line": 1573
2026-06-13T11:05:52.8744406Z             },
2026-06-13T11:05:52.8744525Z             {
2026-06-13T11:05:52.8744683Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8744807Z               "line": 851
2026-06-13T11:05:52.8744920Z             }
2026-06-13T11:05:52.8745026Z           ]
2026-06-13T11:05:52.8745140Z         }
2026-06-13T11:05:52.8745249Z       }
2026-06-13T11:05:52.8745360Z     },
2026-06-13T11:05:52.8745460Z     {
2026-06-13T11:05:52.8745632Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-13T11:05:52.8745884Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-13T11:05:52.8746009Z       "requiredStages": [
2026-06-13T11:05:52.8746142Z         "impl",
2026-06-13T11:05:52.8746271Z         "unit"
2026-06-13T11:05:52.8746389Z       ],
2026-06-13T11:05:52.8746504Z       "stages": {
2026-06-13T11:05:52.8746629Z         "doc": {
2026-06-13T11:05:52.8746756Z           "complete": false,
2026-06-13T11:05:52.8746879Z           "evidence": []
2026-06-13T11:05:52.8747000Z         },
2026-06-13T11:05:52.8747127Z         "impl": {
2026-06-13T11:05:52.8747295Z           "complete": true,
2026-06-13T11:05:52.8747418Z           "evidence": [
2026-06-13T11:05:52.8747558Z             {
2026-06-13T11:05:52.8747728Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T11:05:52.8747862Z               "line": 15
2026-06-13T11:05:52.8748009Z             },
2026-06-13T11:05:52.8748133Z             {
2026-06-13T11:05:52.8748324Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8748463Z               "line": 55
2026-06-13T11:05:52.8748582Z             },
2026-06-13T11:05:52.8748739Z             {
2026-06-13T11:05:52.8748911Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8749196Z               "line": 66
2026-06-13T11:05:52.8749346Z             },
2026-06-13T11:05:52.8749513Z             {
2026-06-13T11:05:52.8749708Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8749838Z               "line": 115
2026-06-13T11:05:52.8749999Z             },
2026-06-13T11:05:52.8750143Z             {
2026-06-13T11:05:52.8750332Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8750482Z               "line": 138
2026-06-13T11:05:52.8757241Z             }
2026-06-13T11:05:52.8757415Z           ]
2026-06-13T11:05:52.8757521Z         },
2026-06-13T11:05:52.8757630Z         "int": {
2026-06-13T11:05:52.8757759Z           "complete": false,
2026-06-13T11:05:52.8757884Z           "evidence": []
2026-06-13T11:05:52.8757988Z         },
2026-06-13T11:05:52.8758108Z         "unit": {
2026-06-13T11:05:52.8758241Z           "complete": true,
2026-06-13T11:05:52.8758354Z           "evidence": [
2026-06-13T11:05:52.8758641Z             {
2026-06-13T11:05:52.8758804Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T11:05:52.8758932Z               "line": 149
2026-06-13T11:05:52.8759138Z             },
2026-06-13T11:05:52.8759251Z             {
2026-06-13T11:05:52.8759406Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T11:05:52.8759627Z               "line": 155
2026-06-13T11:05:52.8759742Z             },
2026-06-13T11:05:52.8759868Z             {
2026-06-13T11:05:52.8760035Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T11:05:52.8760151Z               "line": 169
2026-06-13T11:05:52.8760258Z             },
2026-06-13T11:05:52.8760369Z             {
2026-06-13T11:05:52.8760512Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T11:05:52.8760626Z               "line": 178
2026-06-13T11:05:52.8760727Z             },
2026-06-13T11:05:52.8760836Z             {
2026-06-13T11:05:52.8760990Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8761113Z               "line": 195
2026-06-13T11:05:52.8761231Z             },
2026-06-13T11:05:52.8761342Z             {
2026-06-13T11:05:52.8761509Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8761648Z               "line": 208
2026-06-13T11:05:52.8761761Z             },
2026-06-13T11:05:52.8761875Z             {
2026-06-13T11:05:52.8762029Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8762148Z               "line": 271
2026-06-13T11:05:52.8762253Z             },
2026-06-13T11:05:52.8762367Z             {
2026-06-13T11:05:52.8762513Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8762632Z               "line": 290
2026-06-13T11:05:52.8762731Z             },
2026-06-13T11:05:52.8762854Z             {
2026-06-13T11:05:52.8763007Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.8763116Z               "line": 319
2026-06-13T11:05:52.8763222Z             }
2026-06-13T11:05:52.8763322Z           ]
2026-06-13T11:05:52.8763431Z         }
2026-06-13T11:05:52.8763532Z       }
2026-06-13T11:05:52.8763637Z     },
2026-06-13T11:05:52.8763750Z     {
2026-06-13T11:05:52.8763895Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-13T11:05:52.8764195Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-13T11:05:52.8764318Z       "requiredStages": [
2026-06-13T11:05:52.8764433Z         "impl",
2026-06-13T11:05:52.8764534Z         "unit",
2026-06-13T11:05:52.8764642Z         "int"
2026-06-13T11:05:52.8764757Z       ],
2026-06-13T11:05:52.8764858Z       "stages": {
2026-06-13T11:05:52.8764976Z         "doc": {
2026-06-13T11:05:52.8765098Z           "complete": false,
2026-06-13T11:05:52.8765209Z           "evidence": []
2026-06-13T11:05:52.8765311Z         },
2026-06-13T11:05:52.8765420Z         "impl": {
2026-06-13T11:05:52.8765550Z           "complete": true,
2026-06-13T11:05:52.8765664Z           "evidence": [
2026-06-13T11:05:52.8765788Z             {
2026-06-13T11:05:52.8765941Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8766064Z               "line": 428
2026-06-13T11:05:52.8766175Z             },
2026-06-13T11:05:52.8766289Z             {
2026-06-13T11:05:52.8766442Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8766561Z               "line": 830
2026-06-13T11:05:52.8766675Z             },
2026-06-13T11:05:52.8766786Z             {
2026-06-13T11:05:52.8766928Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8767053Z               "line": 854
2026-06-13T11:05:52.8767162Z             },
2026-06-13T11:05:52.8767271Z             {
2026-06-13T11:05:52.8767411Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.8767528Z               "line": 879
2026-06-13T11:05:52.8767643Z             },
2026-06-13T11:05:52.8767750Z             {
2026-06-13T11:05:52.8767905Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8768130Z               "line": 633
2026-06-13T11:05:52.8768243Z             },
2026-06-13T11:05:52.8768348Z             {
2026-06-13T11:05:52.8768505Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8768614Z               "line": 745
2026-06-13T11:05:52.8768725Z             },
2026-06-13T11:05:52.8768910Z             {
2026-06-13T11:05:52.8769135Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8769248Z               "line": 855
2026-06-13T11:05:52.8769355Z             },
2026-06-13T11:05:52.8769464Z             {
2026-06-13T11:05:52.8769607Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.8769726Z               "line": 903
2026-06-13T11:05:52.8769845Z             },
2026-06-13T11:05:52.8769946Z             {
2026-06-13T11:05:52.8770088Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T11:05:52.8770206Z               "line": 46
2026-06-13T11:05:52.8770325Z             },
2026-06-13T11:05:52.8770438Z             {
2026-06-13T11:05:52.8770586Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T11:05:52.8770706Z               "line": 167
2026-06-13T11:05:52.8770809Z             },
2026-06-13T11:05:52.8770920Z             {
2026-06-13T11:05:52.8771062Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T11:05:52.8771186Z               "line": 132
2026-06-13T11:05:52.8771292Z             },
2026-06-13T11:05:52.8771401Z             {
2026-06-13T11:05:52.8771545Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8771649Z               "line": 134
2026-06-13T11:05:52.8771754Z             },
2026-06-13T11:05:52.8771859Z             {
2026-06-13T11:05:52.8772002Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8772116Z               "line": 180
2026-06-13T11:05:52.8772227Z             }
2026-06-13T11:05:52.8772335Z           ]
2026-06-13T11:05:52.8772435Z         },
2026-06-13T11:05:52.8772542Z         "int": {
2026-06-13T11:05:52.8772664Z           "complete": true,
2026-06-13T11:05:52.8772775Z           "evidence": [
2026-06-13T11:05:52.8772880Z             {
2026-06-13T11:05:52.8773050Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-13T11:05:52.8773169Z               "line": 27
2026-06-13T11:05:52.8773282Z             },
2026-06-13T11:05:52.8773390Z             {
2026-06-13T11:05:52.8773535Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-13T11:05:52.8773644Z               "line": 129
2026-06-13T11:05:52.8773748Z             },
2026-06-13T11:05:52.8773859Z             {
2026-06-13T11:05:52.8774019Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-13T11:05:52.8774130Z               "line": 200
2026-06-13T11:05:52.8774235Z             }
2026-06-13T11:05:52.8774339Z           ]
2026-06-13T11:05:52.8774445Z         },
2026-06-13T11:05:52.8774554Z         "unit": {
2026-06-13T11:05:52.8774673Z           "complete": true,
2026-06-13T11:05:52.8774803Z           "evidence": [
2026-06-13T11:05:52.8774901Z             {
2026-06-13T11:05:52.8775051Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T11:05:52.8775156Z               "line": 313
2026-06-13T11:05:52.8775260Z             },
2026-06-13T11:05:52.8775366Z             {
2026-06-13T11:05:52.8775508Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T11:05:52.8775635Z               "line": 345
2026-06-13T11:05:52.8775740Z             },
2026-06-13T11:05:52.8775844Z             {
2026-06-13T11:05:52.8775976Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-13T11:05:52.8776087Z               "line": 366
2026-06-13T11:05:52.8776196Z             },
2026-06-13T11:05:52.8776300Z             {
2026-06-13T11:05:52.8776449Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-13T11:05:52.8776558Z               "line": 254
2026-06-13T11:05:52.8776668Z             },
2026-06-13T11:05:52.8776782Z             {
2026-06-13T11:05:52.8776935Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-13T11:05:52.8777173Z               "line": 289
2026-06-13T11:05:52.8777278Z             },
2026-06-13T11:05:52.8777398Z             {
2026-06-13T11:05:52.8777540Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-13T11:05:52.8777661Z               "line": 230
2026-06-13T11:05:52.8777865Z             },
2026-06-13T11:05:52.8777981Z             {
2026-06-13T11:05:52.8778137Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8778252Z               "line": 488
2026-06-13T11:05:52.8778366Z             },
2026-06-13T11:05:52.8778474Z             {
2026-06-13T11:05:52.8778622Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.8778736Z               "line": 518
2026-06-13T11:05:52.8778850Z             }
2026-06-13T11:05:52.8779042Z           ]
2026-06-13T11:05:52.8779146Z         }
2026-06-13T11:05:52.8779252Z       }
2026-06-13T11:05:52.8779352Z     },
2026-06-13T11:05:52.8779456Z     {
2026-06-13T11:05:52.8779662Z       "id": "REQ-HAZARD-ROLLBACK-STATE-COMPAT",
2026-06-13T11:05:52.8781557Z       "title": "A brain must not irreversibly migrate durable state before update ready-promotion: the readiness-gated auto-rollback (ADR-0018 Q7) spawns the N-1 binary against durable state the new brain may have written, so every pre-ready write must stay N-1-readable (schema migrations gated behind ready-promotion, or written N-1-tolerant/additive). Else the first in-place schema migration silently bricks rollback (KNOWN-HAZARDS 6.8). Free now — a 2026-06-09 audit confirmed zero state-migration code exists; unmintable retroactively once a migration ships.",
2026-06-13T11:05:52.8781699Z       "requiredStages": [
2026-06-13T11:05:52.8781795Z         "doc",
2026-06-13T11:05:52.8781914Z         "impl",
2026-06-13T11:05:52.8782027Z         "unit"
2026-06-13T11:05:52.8782129Z       ],
2026-06-13T11:05:52.8782243Z       "stages": {
2026-06-13T11:05:52.8782347Z         "doc": {
2026-06-13T11:05:52.8782467Z           "complete": true,
2026-06-13T11:05:52.8782595Z           "evidence": [
2026-06-13T11:05:52.8782695Z             {
2026-06-13T11:05:52.8782843Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8782948Z               "line": 300
2026-06-13T11:05:52.8783059Z             }
2026-06-13T11:05:52.8783163Z           ]
2026-06-13T11:05:52.8783292Z         },
2026-06-13T11:05:52.8783398Z         "impl": {
2026-06-13T11:05:52.8783515Z           "complete": true,
2026-06-13T11:05:52.8783638Z           "evidence": [
2026-06-13T11:05:52.8783748Z             {
2026-06-13T11:05:52.8783931Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-13T11:05:52.8784051Z               "line": 33
2026-06-13T11:05:52.8784166Z             },
2026-06-13T11:05:52.8784270Z             {
2026-06-13T11:05:52.8784443Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-13T11:05:52.8784566Z               "line": 39
2026-06-13T11:05:52.8784672Z             }
2026-06-13T11:05:52.8784786Z           ]
2026-06-13T11:05:52.8784894Z         },
2026-06-13T11:05:52.8785010Z         "int": {
2026-06-13T11:05:52.8785119Z           "complete": false,
2026-06-13T11:05:52.8785233Z           "evidence": []
2026-06-13T11:05:52.8785339Z         },
2026-06-13T11:05:52.8785439Z         "unit": {
2026-06-13T11:05:52.8785567Z           "complete": true,
2026-06-13T11:05:52.8785687Z           "evidence": [
2026-06-13T11:05:52.8785791Z             {
2026-06-13T11:05:52.8785950Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-13T11:05:52.8786073Z               "line": 95
2026-06-13T11:05:52.8786177Z             }
2026-06-13T11:05:52.8786282Z           ]
2026-06-13T11:05:52.8786399Z         }
2026-06-13T11:05:52.8786503Z       }
2026-06-13T11:05:52.8786613Z     },
2026-06-13T11:05:52.8786714Z     {
2026-06-13T11:05:52.8786865Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-13T11:05:52.8787085Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-13T11:05:52.8787315Z       "requiredStages": [
2026-06-13T11:05:52.8787428Z         "impl",
2026-06-13T11:05:52.8787529Z         "unit"
2026-06-13T11:05:52.8787639Z       ],
2026-06-13T11:05:52.8787743Z       "stages": {
2026-06-13T11:05:52.8787868Z         "doc": {
2026-06-13T11:05:52.8787986Z           "complete": false,
2026-06-13T11:05:52.8788197Z           "evidence": []
2026-06-13T11:05:52.8788315Z         },
2026-06-13T11:05:52.8788415Z         "impl": {
2026-06-13T11:05:52.8788536Z           "complete": true,
2026-06-13T11:05:52.8788653Z           "evidence": [
2026-06-13T11:05:52.8788759Z             {
2026-06-13T11:05:52.8788926Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8789177Z               "line": 62
2026-06-13T11:05:52.8789283Z             },
2026-06-13T11:05:52.8789387Z             {
2026-06-13T11:05:52.8789554Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8789668Z               "line": 71
2026-06-13T11:05:52.8789793Z             },
2026-06-13T11:05:52.8789897Z             {
2026-06-13T11:05:52.8790045Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8790170Z               "line": 80
2026-06-13T11:05:52.8790274Z             },
2026-06-13T11:05:52.8790393Z             {
2026-06-13T11:05:52.8790536Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8790660Z               "line": 88
2026-06-13T11:05:52.8790771Z             },
2026-06-13T11:05:52.8790870Z             {
2026-06-13T11:05:52.8791022Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8791138Z               "line": 33
2026-06-13T11:05:52.8791241Z             },
2026-06-13T11:05:52.8791336Z             {
2026-06-13T11:05:52.8791488Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8791610Z               "line": 65
2026-06-13T11:05:52.8791715Z             },
2026-06-13T11:05:52.8791826Z             {
2026-06-13T11:05:52.8791972Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8792102Z               "line": 74
2026-06-13T11:05:52.8792202Z             },
2026-06-13T11:05:52.8792316Z             {
2026-06-13T11:05:52.8792460Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8792569Z               "line": 93
2026-06-13T11:05:52.8792675Z             },
2026-06-13T11:05:52.8792784Z             {
2026-06-13T11:05:52.8792926Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8793028Z               "line": 102
2026-06-13T11:05:52.8793137Z             },
2026-06-13T11:05:52.8793241Z             {
2026-06-13T11:05:52.8793380Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8793499Z               "line": 111
2026-06-13T11:05:52.8793604Z             },
2026-06-13T11:05:52.8793709Z             {
2026-06-13T11:05:52.8793847Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8793953Z               "line": 122
2026-06-13T11:05:52.8794071Z             },
2026-06-13T11:05:52.8794179Z             {
2026-06-13T11:05:52.8794332Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8794444Z               "line": 140
2026-06-13T11:05:52.8794549Z             },
2026-06-13T11:05:52.8794660Z             {
2026-06-13T11:05:52.8794802Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8794922Z               "line": 149
2026-06-13T11:05:52.8795026Z             },
2026-06-13T11:05:52.8795131Z             {
2026-06-13T11:05:52.8795274Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8795393Z               "line": 158
2026-06-13T11:05:52.8795493Z             },
2026-06-13T11:05:52.8795599Z             {
2026-06-13T11:05:52.8795746Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8795861Z               "line": 169
2026-06-13T11:05:52.8795975Z             },
2026-06-13T11:05:52.8796089Z             {
2026-06-13T11:05:52.8796243Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8796539Z               "line": 177
2026-06-13T11:05:52.8796647Z             },
2026-06-13T11:05:52.8796760Z             {
2026-06-13T11:05:52.8796899Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8797020Z               "line": 186
2026-06-13T11:05:52.8797130Z             },
2026-06-13T11:05:52.8797340Z             {
2026-06-13T11:05:52.8797484Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8797598Z               "line": 195
2026-06-13T11:05:52.8797711Z             },
2026-06-13T11:05:52.8797817Z             {
2026-06-13T11:05:52.8797965Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8798079Z               "line": 204
2026-06-13T11:05:52.8798194Z             },
2026-06-13T11:05:52.8798308Z             {
2026-06-13T11:05:52.8798447Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8798565Z               "line": 216
2026-06-13T11:05:52.8798675Z             },
2026-06-13T11:05:52.8798795Z             {
2026-06-13T11:05:52.8798938Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8799125Z               "line": 223
2026-06-13T11:05:52.8799237Z             },
2026-06-13T11:05:52.8799343Z             {
2026-06-13T11:05:52.8799491Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8799609Z               "line": 232
2026-06-13T11:05:52.8799737Z             },
2026-06-13T11:05:52.8799848Z             {
2026-06-13T11:05:52.8799994Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8800114Z               "line": 239
2026-06-13T11:05:52.8800223Z             },
2026-06-13T11:05:52.8800339Z             {
2026-06-13T11:05:52.8800477Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8800600Z               "line": 306
2026-06-13T11:05:52.8800711Z             },
2026-06-13T11:05:52.8800820Z             {
2026-06-13T11:05:52.8800963Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8801082Z               "line": 318
2026-06-13T11:05:52.8801191Z             },
2026-06-13T11:05:52.8801298Z             {
2026-06-13T11:05:52.8801448Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8801569Z               "line": 405
2026-06-13T11:05:52.8801675Z             }
2026-06-13T11:05:52.8801797Z           ]
2026-06-13T11:05:52.8801905Z         },
2026-06-13T11:05:52.8802016Z         "int": {
2026-06-13T11:05:52.8802132Z           "complete": false,
2026-06-13T11:05:52.8802252Z           "evidence": []
2026-06-13T11:05:52.8802362Z         },
2026-06-13T11:05:52.8802471Z         "unit": {
2026-06-13T11:05:52.8802595Z           "complete": true,
2026-06-13T11:05:52.8802705Z           "evidence": [
2026-06-13T11:05:52.8802819Z             {
2026-06-13T11:05:52.8802958Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8803076Z               "line": 487
2026-06-13T11:05:52.8803191Z             },
2026-06-13T11:05:52.8803296Z             {
2026-06-13T11:05:52.8803448Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8803559Z               "line": 528
2026-06-13T11:05:52.8803672Z             },
2026-06-13T11:05:52.8803782Z             {
2026-06-13T11:05:52.8803922Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8804044Z               "line": 541
2026-06-13T11:05:52.8804160Z             },
2026-06-13T11:05:52.8804269Z             {
2026-06-13T11:05:52.8804407Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8804523Z               "line": 627
2026-06-13T11:05:52.8804631Z             }
2026-06-13T11:05:52.8804744Z           ]
2026-06-13T11:05:52.8804854Z         }
2026-06-13T11:05:52.8804957Z       }
2026-06-13T11:05:52.8805070Z     },
2026-06-13T11:05:52.8805176Z     {
2026-06-13T11:05:52.8805309Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-13T11:05:52.8805539Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-13T11:05:52.8805772Z       "requiredStages": [
2026-06-13T11:05:52.8805892Z         "impl",
2026-06-13T11:05:52.8805996Z         "unit"
2026-06-13T11:05:52.8806096Z       ],
2026-06-13T11:05:52.8806211Z       "stages": {
2026-06-13T11:05:52.8806325Z         "doc": {
2026-06-13T11:05:52.8806446Z           "complete": false,
2026-06-13T11:05:52.8806659Z           "evidence": []
2026-06-13T11:05:52.8806775Z         },
2026-06-13T11:05:52.8806887Z         "impl": {
2026-06-13T11:05:52.8807007Z           "complete": true,
2026-06-13T11:05:52.8807122Z           "evidence": [
2026-06-13T11:05:52.8807240Z             {
2026-06-13T11:05:52.8807373Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T11:05:52.8807496Z               "line": 143
2026-06-13T11:05:52.8807613Z             },
2026-06-13T11:05:52.8807719Z             {
2026-06-13T11:05:52.8807876Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.8807991Z               "line": 148
2026-06-13T11:05:52.8808101Z             }
2026-06-13T11:05:52.8808201Z           ]
2026-06-13T11:05:52.8808310Z         },
2026-06-13T11:05:52.8808425Z         "int": {
2026-06-13T11:05:52.8808539Z           "complete": false,
2026-06-13T11:05:52.8808654Z           "evidence": []
2026-06-13T11:05:52.8808759Z         },
2026-06-13T11:05:52.8808887Z         "unit": {
2026-06-13T11:05:52.8809078Z           "complete": true,
2026-06-13T11:05:52.8809188Z           "evidence": [
2026-06-13T11:05:52.8809303Z             {
2026-06-13T11:05:52.8809464Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T11:05:52.8809593Z               "line": 264
2026-06-13T11:05:52.8809703Z             },
2026-06-13T11:05:52.8809817Z             {
2026-06-13T11:05:52.8809957Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.8810112Z               "line": 623
2026-06-13T11:05:52.8810230Z             },
2026-06-13T11:05:52.8810337Z             {
2026-06-13T11:05:52.8810488Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.8810608Z               "line": 636
2026-06-13T11:05:52.8810718Z             }
2026-06-13T11:05:52.8810826Z           ]
2026-06-13T11:05:52.8810937Z         }
2026-06-13T11:05:52.8811052Z       }
2026-06-13T11:05:52.8811150Z     },
2026-06-13T11:05:52.8811257Z     {
2026-06-13T11:05:52.8811395Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-13T11:05:52.8811571Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-13T11:05:52.8811680Z       "requiredStages": [
2026-06-13T11:05:52.8811794Z         "impl",
2026-06-13T11:05:52.8811905Z         "unit"
2026-06-13T11:05:52.8812009Z       ],
2026-06-13T11:05:52.8812119Z       "stages": {
2026-06-13T11:05:52.8812225Z         "doc": {
2026-06-13T11:05:52.8812352Z           "complete": false,
2026-06-13T11:05:52.8812460Z           "evidence": []
2026-06-13T11:05:52.8812571Z         },
2026-06-13T11:05:52.8812688Z         "impl": {
2026-06-13T11:05:52.8812797Z           "complete": true,
2026-06-13T11:05:52.8812912Z           "evidence": [
2026-06-13T11:05:52.8813017Z             {
2026-06-13T11:05:52.8813165Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.8813275Z               "line": 114
2026-06-13T11:05:52.8813384Z             },
2026-06-13T11:05:52.8813495Z             {
2026-06-13T11:05:52.8813660Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.8813776Z               "line": 481
2026-06-13T11:05:52.8813880Z             }
2026-06-13T11:05:52.8813989Z           ]
2026-06-13T11:05:52.8814090Z         },
2026-06-13T11:05:52.8814200Z         "int": {
2026-06-13T11:05:52.8814318Z           "complete": false,
2026-06-13T11:05:52.8814429Z           "evidence": []
2026-06-13T11:05:52.8814547Z         },
2026-06-13T11:05:52.8814652Z         "unit": {
2026-06-13T11:05:52.8814778Z           "complete": true,
2026-06-13T11:05:52.8814885Z           "evidence": [
2026-06-13T11:05:52.8814996Z             {
2026-06-13T11:05:52.8815154Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.8815371Z               "line": 515
2026-06-13T11:05:52.8815480Z             }
2026-06-13T11:05:52.8815584Z           ]
2026-06-13T11:05:52.8815693Z         }
2026-06-13T11:05:52.8815799Z       }
2026-06-13T11:05:52.8815912Z     },
2026-06-13T11:05:52.8816022Z     {
2026-06-13T11:05:52.8816170Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-13T11:05:52.8816461Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-13T11:05:52.8816570Z       "requiredStages": [
2026-06-13T11:05:52.8816671Z         "impl",
2026-06-13T11:05:52.8816780Z         "unit"
2026-06-13T11:05:52.8816900Z       ],
2026-06-13T11:05:52.8817015Z       "stages": {
2026-06-13T11:05:52.8817109Z         "doc": {
2026-06-13T11:05:52.8817233Z           "complete": false,
2026-06-13T11:05:52.8817354Z           "evidence": []
2026-06-13T11:05:52.8817457Z         },
2026-06-13T11:05:52.8817572Z         "impl": {
2026-06-13T11:05:52.8817697Z           "complete": true,
2026-06-13T11:05:52.8817814Z           "evidence": [
2026-06-13T11:05:52.8817919Z             {
2026-06-13T11:05:52.8818089Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8818202Z               "line": 502
2026-06-13T11:05:52.8818313Z             },
2026-06-13T11:05:52.8818422Z             {
2026-06-13T11:05:52.8818570Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T11:05:52.8818685Z               "line": 28
2026-06-13T11:05:52.8818794Z             }
2026-06-13T11:05:52.8818899Z           ]
2026-06-13T11:05:52.8819071Z         },
2026-06-13T11:05:52.8819180Z         "int": {
2026-06-13T11:05:52.8819295Z           "complete": false,
2026-06-13T11:05:52.8819414Z           "evidence": []
2026-06-13T11:05:52.8819533Z         },
2026-06-13T11:05:52.8819638Z         "unit": {
2026-06-13T11:05:52.8819762Z           "complete": true,
2026-06-13T11:05:52.8819878Z           "evidence": [
2026-06-13T11:05:52.8819986Z             {
2026-06-13T11:05:52.8820134Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T11:05:52.8820259Z               "line": 229
2026-06-13T11:05:52.8820367Z             }
2026-06-13T11:05:52.8820473Z           ]
2026-06-13T11:05:52.8820574Z         }
2026-06-13T11:05:52.8820682Z       }
2026-06-13T11:05:52.8820786Z     },
2026-06-13T11:05:52.8820892Z     {
2026-06-13T11:05:52.8821029Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-13T11:05:52.8821207Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-13T11:05:52.8821320Z       "requiredStages": [],
2026-06-13T11:05:52.8821439Z       "stages": {
2026-06-13T11:05:52.8821545Z         "doc": {
2026-06-13T11:05:52.8821668Z           "complete": false,
2026-06-13T11:05:52.8821783Z           "evidence": []
2026-06-13T11:05:52.8821898Z         },
2026-06-13T11:05:52.8822011Z         "impl": {
2026-06-13T11:05:52.8822127Z           "complete": false,
2026-06-13T11:05:52.8822245Z           "evidence": []
2026-06-13T11:05:52.8822345Z         },
2026-06-13T11:05:52.8822465Z         "int": {
2026-06-13T11:05:52.8822578Z           "complete": false,
2026-06-13T11:05:52.8822703Z           "evidence": []
2026-06-13T11:05:52.8822809Z         },
2026-06-13T11:05:52.8822912Z         "unit": {
2026-06-13T11:05:52.8823035Z           "complete": false,
2026-06-13T11:05:52.8823155Z           "evidence": []
2026-06-13T11:05:52.8823252Z         }
2026-06-13T11:05:52.8823357Z       }
2026-06-13T11:05:52.8823463Z     },
2026-06-13T11:05:52.8823567Z     {
2026-06-13T11:05:52.8823706Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-13T11:05:52.8823882Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-13T11:05:52.8824001Z       "requiredStages": [
2026-06-13T11:05:52.8824112Z         "impl",
2026-06-13T11:05:52.8824225Z         "unit"
2026-06-13T11:05:52.8824341Z       ],
2026-06-13T11:05:52.8824445Z       "stages": {
2026-06-13T11:05:52.8824554Z         "doc": {
2026-06-13T11:05:52.8824674Z           "complete": false,
2026-06-13T11:05:52.8824792Z           "evidence": []
2026-06-13T11:05:52.8825013Z         },
2026-06-13T11:05:52.8825117Z         "impl": {
2026-06-13T11:05:52.8825241Z           "complete": true,
2026-06-13T11:05:52.8825361Z           "evidence": [
2026-06-13T11:05:52.8825464Z             {
2026-06-13T11:05:52.8825609Z               "path": "crates/spt-live/src/turn.rs",
2026-06-13T11:05:52.8825719Z               "line": 19
2026-06-13T11:05:52.8825946Z             },
2026-06-13T11:05:52.8826050Z             {
2026-06-13T11:05:52.8826210Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.8826326Z               "line": 347
2026-06-13T11:05:52.8826430Z             },
2026-06-13T11:05:52.8826529Z             {
2026-06-13T11:05:52.8826683Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.8826801Z               "line": 383
2026-06-13T11:05:52.8826907Z             },
2026-06-13T11:05:52.8827016Z             {
2026-06-13T11:05:52.8827159Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T11:05:52.8827270Z               "line": 15
2026-06-13T11:05:52.8827389Z             },
2026-06-13T11:05:52.8827502Z             {
2026-06-13T11:05:52.8827650Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T11:05:52.8827765Z               "line": 48
2026-06-13T11:05:52.8827876Z             },
2026-06-13T11:05:52.8827979Z             {
2026-06-13T11:05:52.8828118Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T11:05:52.8828239Z               "line": 119
2026-06-13T11:05:52.8828341Z             },
2026-06-13T11:05:52.8828459Z             {
2026-06-13T11:05:52.8828593Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8828715Z               "line": 3075
2026-06-13T11:05:52.8828825Z             }
2026-06-13T11:05:52.8828936Z           ]
2026-06-13T11:05:52.8829125Z         },
2026-06-13T11:05:52.8829231Z         "int": {
2026-06-13T11:05:52.8829359Z           "complete": false,
2026-06-13T11:05:52.8829474Z           "evidence": []
2026-06-13T11:05:52.8829588Z         },
2026-06-13T11:05:52.8829711Z         "unit": {
2026-06-13T11:05:52.8829827Z           "complete": true,
2026-06-13T11:05:52.8829945Z           "evidence": [
2026-06-13T11:05:52.8830055Z             {
2026-06-13T11:05:52.8830203Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.8830317Z               "line": 496
2026-06-13T11:05:52.8830438Z             },
2026-06-13T11:05:52.8830551Z             {
2026-06-13T11:05:52.8830689Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T11:05:52.8830809Z               "line": 165
2026-06-13T11:05:52.8830918Z             },
2026-06-13T11:05:52.8831029Z             {
2026-06-13T11:05:52.8831171Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-13T11:05:52.8831289Z               "line": 175
2026-06-13T11:05:52.8831399Z             }
2026-06-13T11:05:52.8831505Z           ]
2026-06-13T11:05:52.8831622Z         }
2026-06-13T11:05:52.8831728Z       }
2026-06-13T11:05:52.8831838Z     },
2026-06-13T11:05:52.8831932Z     {
2026-06-13T11:05:52.8832096Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-13T11:05:52.8833097Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-13T11:05:52.8833225Z       "requiredStages": [
2026-06-13T11:05:52.8833336Z         "impl",
2026-06-13T11:05:52.8833444Z         "unit"
2026-06-13T11:05:52.8833558Z       ],
2026-06-13T11:05:52.8833672Z       "stages": {
2026-06-13T11:05:52.8833780Z         "doc": {
2026-06-13T11:05:52.8833903Z           "complete": false,
2026-06-13T11:05:52.8834014Z           "evidence": []
2026-06-13T11:05:52.8834123Z         },
2026-06-13T11:05:52.8834223Z         "impl": {
2026-06-13T11:05:52.8834348Z           "complete": true,
2026-06-13T11:05:52.8834461Z           "evidence": [
2026-06-13T11:05:52.8834576Z             {
2026-06-13T11:05:52.8834886Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8835006Z               "line": 2817
2026-06-13T11:05:52.8835119Z             },
2026-06-13T11:05:52.8835225Z             {
2026-06-13T11:05:52.8835372Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.8835486Z               "line": 103
2026-06-13T11:05:52.8835691Z             },
2026-06-13T11:05:52.8835806Z             {
2026-06-13T11:05:52.8835945Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.8836069Z               "line": 135
2026-06-13T11:05:52.8836174Z             }
2026-06-13T11:05:52.8836288Z           ]
2026-06-13T11:05:52.8836396Z         },
2026-06-13T11:05:52.8836501Z         "int": {
2026-06-13T11:05:52.8836624Z           "complete": false,
2026-06-13T11:05:52.8836737Z           "evidence": []
2026-06-13T11:05:52.8836847Z         },
2026-06-13T11:05:52.8836953Z         "unit": {
2026-06-13T11:05:52.8837080Z           "complete": true,
2026-06-13T11:05:52.8837206Z           "evidence": [
2026-06-13T11:05:52.8837310Z             {
2026-06-13T11:05:52.8837458Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.8837572Z               "line": 258
2026-06-13T11:05:52.8837681Z             },
2026-06-13T11:05:52.8837787Z             {
2026-06-13T11:05:52.8837929Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.8838053Z               "line": 283
2026-06-13T11:05:52.8838159Z             },
2026-06-13T11:05:52.8838272Z             {
2026-06-13T11:05:52.8838407Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.8838526Z               "line": 296
2026-06-13T11:05:52.8838630Z             },
2026-06-13T11:05:52.8838746Z             {
2026-06-13T11:05:52.8838887Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.8839072Z               "line": 308
2026-06-13T11:05:52.8839181Z             }
2026-06-13T11:05:52.8839289Z           ]
2026-06-13T11:05:52.8839399Z         }
2026-06-13T11:05:52.8839505Z       }
2026-06-13T11:05:52.8839618Z     },
2026-06-13T11:05:52.8839729Z     {
2026-06-13T11:05:52.8839862Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-13T11:05:52.8840044Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-13T11:05:52.8844383Z       "requiredStages": [
2026-06-13T11:05:52.8844559Z         "impl",
2026-06-13T11:05:52.8844664Z         "unit"
2026-06-13T11:05:52.8844773Z       ],
2026-06-13T11:05:52.8844889Z       "stages": {
2026-06-13T11:05:52.8844998Z         "doc": {
2026-06-13T11:05:52.8845126Z           "complete": false,
2026-06-13T11:05:52.8845237Z           "evidence": []
2026-06-13T11:05:52.8845350Z         },
2026-06-13T11:05:52.8845456Z         "impl": {
2026-06-13T11:05:52.8845584Z           "complete": true,
2026-06-13T11:05:52.8845707Z           "evidence": [
2026-06-13T11:05:52.8845809Z             {
2026-06-13T11:05:52.8845975Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8846095Z               "line": 35
2026-06-13T11:05:52.8846218Z             }
2026-06-13T11:05:52.8846323Z           ]
2026-06-13T11:05:52.8846434Z         },
2026-06-13T11:05:52.8846552Z         "int": {
2026-06-13T11:05:52.8846666Z           "complete": false,
2026-06-13T11:05:52.8846792Z           "evidence": []
2026-06-13T11:05:52.8846895Z         },
2026-06-13T11:05:52.8847023Z         "unit": {
2026-06-13T11:05:52.8847142Z           "complete": true,
2026-06-13T11:05:52.8847264Z           "evidence": [
2026-06-13T11:05:52.8847374Z             {
2026-06-13T11:05:52.8847522Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-13T11:05:52.8847645Z               "line": 220
2026-06-13T11:05:52.8847751Z             }
2026-06-13T11:05:52.8847861Z           ]
2026-06-13T11:05:52.8847964Z         }
2026-06-13T11:05:52.8848075Z       }
2026-06-13T11:05:52.8848185Z     },
2026-06-13T11:05:52.8848289Z     {
2026-06-13T11:05:52.8848428Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-13T11:05:52.8848724Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-13T11:05:52.8849091Z       "requiredStages": [
2026-06-13T11:05:52.8849200Z         "impl",
2026-06-13T11:05:52.8849315Z         "unit"
2026-06-13T11:05:52.8849429Z       ],
2026-06-13T11:05:52.8849538Z       "stages": {
2026-06-13T11:05:52.8849647Z         "doc": {
2026-06-13T11:05:52.8849878Z           "complete": false,
2026-06-13T11:05:52.8850003Z           "evidence": []
2026-06-13T11:05:52.8850103Z         },
2026-06-13T11:05:52.8850212Z         "impl": {
2026-06-13T11:05:52.8850332Z           "complete": true,
2026-06-13T11:05:52.8850441Z           "evidence": [
2026-06-13T11:05:52.8850550Z             {
2026-06-13T11:05:52.8850713Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:52.8850836Z               "line": 405
2026-06-13T11:05:52.8850943Z             },
2026-06-13T11:05:52.8851051Z             {
2026-06-13T11:05:52.8851214Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:52.8851319Z               "line": 409
2026-06-13T11:05:52.8851432Z             },
2026-06-13T11:05:52.8851539Z             {
2026-06-13T11:05:52.8851690Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:52.8851800Z               "line": 156
2026-06-13T11:05:52.8851921Z             }
2026-06-13T11:05:52.8852043Z           ]
2026-06-13T11:05:52.8852144Z         },
2026-06-13T11:05:52.8852259Z         "int": {
2026-06-13T11:05:52.8852376Z           "complete": false,
2026-06-13T11:05:52.8852519Z           "evidence": []
2026-06-13T11:05:52.8852639Z         },
2026-06-13T11:05:52.8852752Z         "unit": {
2026-06-13T11:05:52.8852873Z           "complete": true,
2026-06-13T11:05:52.8852986Z           "evidence": [
2026-06-13T11:05:52.8853100Z             {
2026-06-13T11:05:52.8853249Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:52.8853367Z               "line": 812
2026-06-13T11:05:52.8853473Z             },
2026-06-13T11:05:52.8853601Z             {
2026-06-13T11:05:52.8853749Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:52.8853859Z               "line": 826
2026-06-13T11:05:52.8853973Z             },
2026-06-13T11:05:52.8854084Z             {
2026-06-13T11:05:52.8854235Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:52.8854355Z               "line": 845
2026-06-13T11:05:52.8854471Z             },
2026-06-13T11:05:52.8854583Z             {
2026-06-13T11:05:52.8854725Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:52.8854844Z               "line": 862
2026-06-13T11:05:52.8854952Z             },
2026-06-13T11:05:52.8855062Z             {
2026-06-13T11:05:52.8855219Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T11:05:52.8855338Z               "line": 441
2026-06-13T11:05:52.8855454Z             }
2026-06-13T11:05:52.8855558Z           ]
2026-06-13T11:05:52.8855672Z         }
2026-06-13T11:05:52.8855778Z       }
2026-06-13T11:05:52.8855896Z     },
2026-06-13T11:05:52.8856001Z     {
2026-06-13T11:05:52.8856135Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-13T11:05:52.8857075Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-13T11:05:52.8857203Z       "requiredStages": [
2026-06-13T11:05:52.8857314Z         "doc",
2026-06-13T11:05:52.8857422Z         "impl",
2026-06-13T11:05:52.8857540Z         "unit"
2026-06-13T11:05:52.8857650Z       ],
2026-06-13T11:05:52.8857758Z       "stages": {
2026-06-13T11:05:52.8857866Z         "doc": {
2026-06-13T11:05:52.8857986Z           "complete": true,
2026-06-13T11:05:52.8858101Z           "evidence": [
2026-06-13T11:05:52.8858205Z             {
2026-06-13T11:05:52.8858359Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-13T11:05:52.8858482Z               "line": 352
2026-06-13T11:05:52.8858697Z             }
2026-06-13T11:05:52.8858806Z           ]
2026-06-13T11:05:52.8858912Z         },
2026-06-13T11:05:52.8859107Z         "impl": {
2026-06-13T11:05:52.8859222Z           "complete": true,
2026-06-13T11:05:52.8859341Z           "evidence": [
2026-06-13T11:05:52.8859450Z             {
2026-06-13T11:05:52.8859702Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T11:05:52.8859823Z               "line": 85
2026-06-13T11:05:52.8859928Z             },
2026-06-13T11:05:52.8860040Z             {
2026-06-13T11:05:52.8860188Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T11:05:52.8860306Z               "line": 99
2026-06-13T11:05:52.8860414Z             },
2026-06-13T11:05:52.8860520Z             {
2026-06-13T11:05:52.8860672Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.8860786Z               "line": 55
2026-06-13T11:05:52.8860902Z             },
2026-06-13T11:05:52.8861006Z             {
2026-06-13T11:05:52.8861164Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T11:05:52.8861283Z               "line": 31
2026-06-13T11:05:52.8861387Z             },
2026-06-13T11:05:52.8861498Z             {
2026-06-13T11:05:52.8861645Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T11:05:52.8861764Z               "line": 189
2026-06-13T11:05:52.8861884Z             },
2026-06-13T11:05:52.8861988Z             {
2026-06-13T11:05:52.8862142Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.8862254Z               "line": 95
2026-06-13T11:05:52.8862370Z             },
2026-06-13T11:05:52.8862466Z             {
2026-06-13T11:05:52.8862627Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:52.8862743Z               "line": 29
2026-06-13T11:05:52.8862866Z             },
2026-06-13T11:05:52.8862979Z             {
2026-06-13T11:05:52.8863127Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:52.8863251Z               "line": 104
2026-06-13T11:05:52.8863360Z             },
2026-06-13T11:05:52.8863471Z             {
2026-06-13T11:05:52.8863632Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8863743Z               "line": 208
2026-06-13T11:05:52.8863852Z             },
2026-06-13T11:05:52.8863956Z             {
2026-06-13T11:05:52.8864100Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-13T11:05:52.8864204Z               "line": 28
2026-06-13T11:05:52.8864309Z             },
2026-06-13T11:05:52.8864410Z             {
2026-06-13T11:05:52.8864552Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-13T11:05:52.8864668Z               "line": 74
2026-06-13T11:05:52.8864772Z             },
2026-06-13T11:05:52.8864876Z             {
2026-06-13T11:05:52.8865026Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T11:05:52.8865148Z               "line": 32
2026-06-13T11:05:52.8865252Z             },
2026-06-13T11:05:52.8865362Z             {
2026-06-13T11:05:52.8865517Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.8865631Z               "line": 40
2026-06-13T11:05:52.8865733Z             },
2026-06-13T11:05:52.8865836Z             {
2026-06-13T11:05:52.8865980Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.8866108Z               "line": 184
2026-06-13T11:05:52.8866217Z             },
2026-06-13T11:05:52.8866328Z             {
2026-06-13T11:05:52.8866470Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T11:05:52.8866591Z               "line": 61
2026-06-13T11:05:52.8866700Z             },
2026-06-13T11:05:52.8866819Z             {
2026-06-13T11:05:52.8866958Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T11:05:52.8867072Z               "line": 131
2026-06-13T11:05:52.8867191Z             },
2026-06-13T11:05:52.8867292Z             {
2026-06-13T11:05:52.8867434Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T11:05:52.8867653Z               "line": 223
2026-06-13T11:05:52.8867763Z             },
2026-06-13T11:05:52.8867884Z             {
2026-06-13T11:05:52.8868025Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-13T11:05:52.8868143Z               "line": 37
2026-06-13T11:05:52.8868239Z             },
2026-06-13T11:05:52.8868346Z             {
2026-06-13T11:05:52.8868600Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T11:05:52.8868704Z               "line": 38
2026-06-13T11:05:52.8868804Z             },
2026-06-13T11:05:52.8868910Z             {
2026-06-13T11:05:52.8869133Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T11:05:52.8869248Z               "line": 36
2026-06-13T11:05:52.8869352Z             },
2026-06-13T11:05:52.8869462Z             {
2026-06-13T11:05:52.8869600Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-13T11:05:52.8869714Z               "line": 40
2026-06-13T11:05:52.8869816Z             }
2026-06-13T11:05:52.8869929Z           ]
2026-06-13T11:05:52.8870034Z         },
2026-06-13T11:05:52.8870144Z         "int": {
2026-06-13T11:05:52.8870263Z           "complete": false,
2026-06-13T11:05:52.8870378Z           "evidence": []
2026-06-13T11:05:52.8870479Z         },
2026-06-13T11:05:52.8870587Z         "unit": {
2026-06-13T11:05:52.8870710Z           "complete": true,
2026-06-13T11:05:52.8870834Z           "evidence": [
2026-06-13T11:05:52.8870941Z             {
2026-06-13T11:05:52.8871094Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.8871205Z               "line": 212
2026-06-13T11:05:52.8871308Z             },
2026-06-13T11:05:52.8871433Z             {
2026-06-13T11:05:52.8871671Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-13T11:05:52.8871823Z               "line": 136
2026-06-13T11:05:52.8871990Z             },
2026-06-13T11:05:52.8872186Z             {
2026-06-13T11:05:52.8872449Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T11:05:52.8872664Z               "line": 685
2026-06-13T11:05:52.8872854Z             },
2026-06-13T11:05:52.8873055Z             {
2026-06-13T11:05:52.8873294Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T11:05:52.8873491Z               "line": 224
2026-06-13T11:05:52.8873688Z             },
2026-06-13T11:05:52.8873868Z             {
2026-06-13T11:05:52.8874125Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-13T11:05:52.8874317Z               "line": 206
2026-06-13T11:05:52.8874507Z             },
2026-06-13T11:05:52.8874707Z             {
2026-06-13T11:05:52.8874980Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T11:05:52.8875184Z               "line": 112
2026-06-13T11:05:52.8875374Z             },
2026-06-13T11:05:52.8875567Z             {
2026-06-13T11:05:52.8875817Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-13T11:05:52.8876025Z               "line": 157
2026-06-13T11:05:52.8876216Z             },
2026-06-13T11:05:52.8876425Z             {
2026-06-13T11:05:52.8876692Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T11:05:52.8876893Z               "line": 215
2026-06-13T11:05:52.8877097Z             },
2026-06-13T11:05:52.8877294Z             {
2026-06-13T11:05:52.8877560Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T11:05:52.8877775Z               "line": 141
2026-06-13T11:05:52.8877965Z             },
2026-06-13T11:05:52.8878162Z             {
2026-06-13T11:05:52.8878391Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-13T11:05:52.8878590Z               "line": 162
2026-06-13T11:05:52.8878770Z             }
2026-06-13T11:05:52.8879035Z           ]
2026-06-13T11:05:52.8879198Z         }
2026-06-13T11:05:52.8879383Z       }
2026-06-13T11:05:52.8879593Z     },
2026-06-13T11:05:52.8879775Z     {
2026-06-13T11:05:52.8880017Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-13T11:05:52.8880318Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-13T11:05:52.8880762Z       "requiredStages": [
2026-06-13T11:05:52.8880923Z         "impl",
2026-06-13T11:05:52.8881114Z         "unit"
2026-06-13T11:05:52.8881284Z       ],
2026-06-13T11:05:52.8881436Z       "stages": {
2026-06-13T11:05:52.8881587Z         "doc": {
2026-06-13T11:05:52.8881741Z           "complete": false,
2026-06-13T11:05:52.8881907Z           "evidence": []
2026-06-13T11:05:52.8882197Z         },
2026-06-13T11:05:52.8882346Z         "impl": {
2026-06-13T11:05:52.8882512Z           "complete": true,
2026-06-13T11:05:52.8882670Z           "evidence": [
2026-06-13T11:05:52.8882856Z             {
2026-06-13T11:05:52.8883099Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.8883300Z               "line": 95
2026-06-13T11:05:52.8883490Z             },
2026-06-13T11:05:52.8883676Z             {
2026-06-13T11:05:52.8883935Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.8884142Z               "line": 102
2026-06-13T11:05:52.8884338Z             }
2026-06-13T11:05:52.8884538Z           ]
2026-06-13T11:05:52.8884738Z         },
2026-06-13T11:05:52.8884915Z         "int": {
2026-06-13T11:05:52.8885144Z           "complete": false,
2026-06-13T11:05:52.8885339Z           "evidence": []
2026-06-13T11:05:52.8885540Z         },
2026-06-13T11:05:52.8885735Z         "unit": {
2026-06-13T11:05:52.8885949Z           "complete": true,
2026-06-13T11:05:52.8886170Z           "evidence": [
2026-06-13T11:05:52.8886353Z             {
2026-06-13T11:05:52.8886594Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.8886814Z               "line": 250
2026-06-13T11:05:52.8886990Z             },
2026-06-13T11:05:52.8887191Z             {
2026-06-13T11:05:52.8887439Z               "path": "crates/spt-store/src/proc.rs",
2026-06-13T11:05:52.8887653Z               "line": 198
2026-06-13T11:05:52.8887886Z             },
2026-06-13T11:05:52.8888074Z             {
2026-06-13T11:05:52.8888316Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.8888501Z               "line": 459
2026-06-13T11:05:52.8888704Z             },
2026-06-13T11:05:52.8888883Z             {
2026-06-13T11:05:52.8889216Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.8889429Z               "line": 492
2026-06-13T11:05:52.8889605Z             }
2026-06-13T11:05:52.8889814Z           ]
2026-06-13T11:05:52.8890025Z         }
2026-06-13T11:05:52.8890219Z       }
2026-06-13T11:05:52.8890416Z     },
2026-06-13T11:05:52.8890607Z     {
2026-06-13T11:05:52.8890835Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-13T11:05:52.8891203Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-13T11:05:52.8891450Z       "requiredStages": [
2026-06-13T11:05:52.8891660Z         "impl",
2026-06-13T11:05:52.8891854Z         "unit"
2026-06-13T11:05:52.8892024Z       ],
2026-06-13T11:05:52.8892229Z       "stages": {
2026-06-13T11:05:52.8892433Z         "doc": {
2026-06-13T11:05:52.8892629Z           "complete": false,
2026-06-13T11:05:52.8892873Z           "evidence": []
2026-06-13T11:05:52.8893053Z         },
2026-06-13T11:05:52.8893268Z         "impl": {
2026-06-13T11:05:52.8893489Z           "complete": true,
2026-06-13T11:05:52.8893711Z           "evidence": [
2026-06-13T11:05:52.8893926Z             {
2026-06-13T11:05:52.8894170Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8894414Z               "line": 262
2026-06-13T11:05:52.8894598Z             },
2026-06-13T11:05:52.8894803Z             {
2026-06-13T11:05:52.8895050Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8895326Z               "line": 307
2026-06-13T11:05:52.8895528Z             },
2026-06-13T11:05:52.8895728Z             {
2026-06-13T11:05:52.8896014Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8896247Z               "line": 319
2026-06-13T11:05:52.8896453Z             }
2026-06-13T11:05:52.8896658Z           ]
2026-06-13T11:05:52.8896885Z         },
2026-06-13T11:05:52.8897118Z         "int": {
2026-06-13T11:05:52.8897603Z           "complete": false,
2026-06-13T11:05:52.8897860Z           "evidence": []
2026-06-13T11:05:52.8898042Z         },
2026-06-13T11:05:52.8898262Z         "unit": {
2026-06-13T11:05:52.8898461Z           "complete": true,
2026-06-13T11:05:52.8898671Z           "evidence": [
2026-06-13T11:05:52.8899157Z             {
2026-06-13T11:05:52.8899415Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8899663Z               "line": 455
2026-06-13T11:05:52.8899862Z             },
2026-06-13T11:05:52.8900065Z             {
2026-06-13T11:05:52.8900318Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.8900538Z               "line": 499
2026-06-13T11:05:52.8900770Z             }
2026-06-13T11:05:52.8900962Z           ]
2026-06-13T11:05:52.8901167Z         }
2026-06-13T11:05:52.8901337Z       }
2026-06-13T11:05:52.8901557Z     },
2026-06-13T11:05:52.8901728Z     {
2026-06-13T11:05:52.8901962Z       "id": "REQ-INFRA-1",
2026-06-13T11:05:52.8902385Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-13T11:05:52.8902593Z       "requiredStages": [],
2026-06-13T11:05:52.8902794Z       "stages": {
2026-06-13T11:05:52.8902984Z         "doc": {
2026-06-13T11:05:52.8903232Z           "complete": false,
2026-06-13T11:05:52.8903447Z           "evidence": []
2026-06-13T11:05:52.8903695Z         },
2026-06-13T11:05:52.8903928Z         "impl": {
2026-06-13T11:05:52.8904134Z           "complete": false,
2026-06-13T11:05:52.8904387Z           "evidence": []
2026-06-13T11:05:52.8904600Z         },
2026-06-13T11:05:52.8904800Z         "int": {
2026-06-13T11:05:52.8904988Z           "complete": false,
2026-06-13T11:05:52.8905228Z           "evidence": []
2026-06-13T11:05:52.8905421Z         },
2026-06-13T11:05:52.8905610Z         "unit": {
2026-06-13T11:05:52.8905844Z           "complete": false,
2026-06-13T11:05:52.8906059Z           "evidence": []
2026-06-13T11:05:52.8906254Z         }
2026-06-13T11:05:52.8906441Z       }
2026-06-13T11:05:52.8906622Z     },
2026-06-13T11:05:52.8906850Z     {
2026-06-13T11:05:52.8907050Z       "id": "REQ-INST-1",
2026-06-13T11:05:52.8907388Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-13T11:05:52.8907583Z       "requiredStages": [],
2026-06-13T11:05:52.8907810Z       "stages": {
2026-06-13T11:05:52.8908015Z         "doc": {
2026-06-13T11:05:52.8908245Z           "complete": false,
2026-06-13T11:05:52.8908444Z           "evidence": []
2026-06-13T11:05:52.8908621Z         },
2026-06-13T11:05:52.8908836Z         "impl": {
2026-06-13T11:05:52.8909102Z           "complete": false,
2026-06-13T11:05:52.8909327Z           "evidence": []
2026-06-13T11:05:52.8909485Z         },
2026-06-13T11:05:52.8909722Z         "int": {
2026-06-13T11:05:52.8909945Z           "complete": false,
2026-06-13T11:05:52.8910129Z           "evidence": []
2026-06-13T11:05:52.8910312Z         },
2026-06-13T11:05:52.8910460Z         "unit": {
2026-06-13T11:05:52.8910643Z           "complete": false,
2026-06-13T11:05:52.8910816Z           "evidence": []
2026-06-13T11:05:52.8910982Z         }
2026-06-13T11:05:52.8911159Z       }
2026-06-13T11:05:52.8911306Z     },
2026-06-13T11:05:52.8911464Z     {
2026-06-13T11:05:52.8911645Z       "id": "REQ-INST-10",
2026-06-13T11:05:52.8912056Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-13T11:05:52.8912241Z       "requiredStages": [
2026-06-13T11:05:52.8912419Z         "impl",
2026-06-13T11:05:52.8912594Z         "unit"
2026-06-13T11:05:52.8912743Z       ],
2026-06-13T11:05:52.8912921Z       "stages": {
2026-06-13T11:05:52.8913083Z         "doc": {
2026-06-13T11:05:52.8913277Z           "complete": false,
2026-06-13T11:05:52.8913454Z           "evidence": []
2026-06-13T11:05:52.8913616Z         },
2026-06-13T11:05:52.8913783Z         "impl": {
2026-06-13T11:05:52.8913970Z           "complete": true,
2026-06-13T11:05:52.8914154Z           "evidence": [
2026-06-13T11:05:52.8914313Z             {
2026-06-13T11:05:52.8914779Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8914952Z               "line": 616
2026-06-13T11:05:52.8915113Z             },
2026-06-13T11:05:52.8915272Z             {
2026-06-13T11:05:52.8915505Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8915689Z               "line": 693
2026-06-13T11:05:52.8915990Z             },
2026-06-13T11:05:52.8916161Z             {
2026-06-13T11:05:52.8916380Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T11:05:52.8916557Z               "line": 13
2026-06-13T11:05:52.8916724Z             },
2026-06-13T11:05:52.8916882Z             {
2026-06-13T11:05:52.8917105Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T11:05:52.8917272Z               "line": 67
2026-06-13T11:05:52.8917449Z             },
2026-06-13T11:05:52.8917610Z             {
2026-06-13T11:05:52.8917831Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.8918005Z               "line": 18
2026-06-13T11:05:52.8918177Z             },
2026-06-13T11:05:52.8918341Z             {
2026-06-13T11:05:52.8918557Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.8918737Z               "line": 444
2026-06-13T11:05:52.8918895Z             }
2026-06-13T11:05:52.8919153Z           ]
2026-06-13T11:05:52.8919328Z         },
2026-06-13T11:05:52.8919453Z         "int": {
2026-06-13T11:05:52.8919577Z           "complete": false,
2026-06-13T11:05:52.8919696Z           "evidence": []
2026-06-13T11:05:52.8919810Z         },
2026-06-13T11:05:52.8919920Z         "unit": {
2026-06-13T11:05:52.8920040Z           "complete": true,
2026-06-13T11:05:52.8920158Z           "evidence": [
2026-06-13T11:05:52.8920267Z             {
2026-06-13T11:05:52.8920426Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8920540Z               "line": 900
2026-06-13T11:05:52.8920655Z             },
2026-06-13T11:05:52.8920760Z             {
2026-06-13T11:05:52.8920920Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8921049Z               "line": 1233
2026-06-13T11:05:52.8921156Z             },
2026-06-13T11:05:52.8921275Z             {
2026-06-13T11:05:52.8921419Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8921552Z               "line": 1244
2026-06-13T11:05:52.8921667Z             },
2026-06-13T11:05:52.8921782Z             {
2026-06-13T11:05:52.8921934Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8922053Z               "line": 1260
2026-06-13T11:05:52.8922171Z             },
2026-06-13T11:05:52.8922282Z             {
2026-06-13T11:05:52.8922435Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8922544Z               "line": 1276
2026-06-13T11:05:52.8922678Z             },
2026-06-13T11:05:52.8922806Z             {
2026-06-13T11:05:52.8922960Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8923087Z               "line": 1298
2026-06-13T11:05:52.8923203Z             },
2026-06-13T11:05:52.8923326Z             {
2026-06-13T11:05:52.8923477Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8923606Z               "line": 1603
2026-06-13T11:05:52.8923718Z             },
2026-06-13T11:05:52.8923822Z             {
2026-06-13T11:05:52.8923986Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T11:05:52.8924104Z               "line": 130
2026-06-13T11:05:52.8924220Z             },
2026-06-13T11:05:52.8924338Z             {
2026-06-13T11:05:52.8924491Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T11:05:52.8924615Z               "line": 167
2026-06-13T11:05:52.8924719Z             },
2026-06-13T11:05:52.8924840Z             {
2026-06-13T11:05:52.8924987Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T11:05:52.8925120Z               "line": 175
2026-06-13T11:05:52.8925244Z             },
2026-06-13T11:05:52.8925353Z             {
2026-06-13T11:05:52.8925721Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-13T11:05:52.8925832Z               "line": 183
2026-06-13T11:05:52.8925954Z             },
2026-06-13T11:05:52.8926065Z             {
2026-06-13T11:05:52.8926221Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.8926353Z               "line": 896
2026-06-13T11:05:52.8926569Z             }
2026-06-13T11:05:52.8926697Z           ]
2026-06-13T11:05:52.8926812Z         }
2026-06-13T11:05:52.8926935Z       }
2026-06-13T11:05:52.8927046Z     },
2026-06-13T11:05:52.8927175Z     {
2026-06-13T11:05:52.8927307Z       "id": "REQ-INST-11",
2026-06-13T11:05:52.8927565Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-13T11:05:52.8927699Z       "requiredStages": [
2026-06-13T11:05:52.8927813Z         "impl",
2026-06-13T11:05:52.8927942Z         "unit"
2026-06-13T11:05:52.8928053Z       ],
2026-06-13T11:05:52.8928185Z       "stages": {
2026-06-13T11:05:52.8928304Z         "doc": {
2026-06-13T11:05:52.8928438Z           "complete": false,
2026-06-13T11:05:52.8928575Z           "evidence": []
2026-06-13T11:05:52.8928690Z         },
2026-06-13T11:05:52.8928821Z         "impl": {
2026-06-13T11:05:52.8929045Z           "complete": true,
2026-06-13T11:05:52.8929169Z           "evidence": [
2026-06-13T11:05:52.8929297Z             {
2026-06-13T11:05:52.8929460Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8929593Z               "line": 482
2026-06-13T11:05:52.8929694Z             },
2026-06-13T11:05:52.8929822Z             {
2026-06-13T11:05:52.8929975Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8930108Z               "line": 297
2026-06-13T11:05:52.8930223Z             },
2026-06-13T11:05:52.8930328Z             {
2026-06-13T11:05:52.8930475Z               "path": "crates/spt-store/src/rename.rs",
2026-06-13T11:05:52.8930591Z               "line": 59
2026-06-13T11:05:52.8930719Z             },
2026-06-13T11:05:52.8930842Z             {
2026-06-13T11:05:52.8930996Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8931129Z               "line": 4284
2026-06-13T11:05:52.8931230Z             },
2026-06-13T11:05:52.8931353Z             {
2026-06-13T11:05:52.8931485Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8931623Z               "line": 5502
2026-06-13T11:05:52.8931735Z             }
2026-06-13T11:05:52.8931850Z           ]
2026-06-13T11:05:52.8931955Z         },
2026-06-13T11:05:52.8932069Z         "int": {
2026-06-13T11:05:52.8932203Z           "complete": false,
2026-06-13T11:05:52.8932323Z           "evidence": []
2026-06-13T11:05:52.8932441Z         },
2026-06-13T11:05:52.8932542Z         "unit": {
2026-06-13T11:05:52.8932675Z           "complete": true,
2026-06-13T11:05:52.8932799Z           "evidence": [
2026-06-13T11:05:52.8932905Z             {
2026-06-13T11:05:52.8933065Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8933181Z               "line": 1403
2026-06-13T11:05:52.8933303Z             },
2026-06-13T11:05:52.8933414Z             {
2026-06-13T11:05:52.8933572Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8933695Z               "line": 1436
2026-06-13T11:05:52.8933806Z             },
2026-06-13T11:05:52.8933929Z             {
2026-06-13T11:05:52.8934090Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8934218Z               "line": 527
2026-06-13T11:05:52.8934335Z             },
2026-06-13T11:05:52.8934445Z             {
2026-06-13T11:05:52.8934602Z               "path": "crates/spt-store/src/rename.rs",
2026-06-13T11:05:52.8934712Z               "line": 160
2026-06-13T11:05:52.8934832Z             },
2026-06-13T11:05:52.8934941Z             {
2026-06-13T11:05:52.8935090Z               "path": "crates/spt-store/src/rename.rs",
2026-06-13T11:05:52.8935204Z               "line": 190
2026-06-13T11:05:52.8935322Z             },
2026-06-13T11:05:52.8935443Z             {
2026-06-13T11:05:52.8935724Z               "path": "crates/spt-store/src/rename.rs",
2026-06-13T11:05:52.8935857Z               "line": 225
2026-06-13T11:05:52.8935966Z             },
2026-06-13T11:05:52.8936092Z             {
2026-06-13T11:05:52.8936224Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8936353Z               "line": 5841
2026-06-13T11:05:52.8936586Z             }
2026-06-13T11:05:52.8936697Z           ]
2026-06-13T11:05:52.8936809Z         }
2026-06-13T11:05:52.8936914Z       }
2026-06-13T11:05:52.8937034Z     },
2026-06-13T11:05:52.8937148Z     {
2026-06-13T11:05:52.8937276Z       "id": "REQ-INST-12",
2026-06-13T11:05:52.8937615Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-13T11:05:52.8937730Z       "requiredStages": [
2026-06-13T11:05:52.8937848Z         "impl",
2026-06-13T11:05:52.8937954Z         "unit"
2026-06-13T11:05:52.8938073Z       ],
2026-06-13T11:05:52.8938182Z       "stages": {
2026-06-13T11:05:52.8938312Z         "doc": {
2026-06-13T11:05:52.8938454Z           "complete": false,
2026-06-13T11:05:52.8938570Z           "evidence": []
2026-06-13T11:05:52.8938688Z         },
2026-06-13T11:05:52.8938802Z         "impl": {
2026-06-13T11:05:52.8938933Z           "complete": true,
2026-06-13T11:05:52.8939154Z           "evidence": [
2026-06-13T11:05:52.8939278Z             {
2026-06-13T11:05:52.8939447Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8939557Z               "line": 534
2026-06-13T11:05:52.8939677Z             },
2026-06-13T11:05:52.8939790Z             {
2026-06-13T11:05:52.8939949Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8940091Z               "line": 627
2026-06-13T11:05:52.8940202Z             },
2026-06-13T11:05:52.8940330Z             {
2026-06-13T11:05:52.8940478Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8940611Z               "line": 707
2026-06-13T11:05:52.8940725Z             },
2026-06-13T11:05:52.8940846Z             {
2026-06-13T11:05:52.8941007Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8941126Z               "line": 96
2026-06-13T11:05:52.8941241Z             },
2026-06-13T11:05:52.8941346Z             {
2026-06-13T11:05:52.8941508Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8941636Z               "line": 269
2026-06-13T11:05:52.8941752Z             },
2026-06-13T11:05:52.8941885Z             {
2026-06-13T11:05:52.8942035Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T11:05:52.8942169Z               "line": 135
2026-06-13T11:05:52.8942286Z             }
2026-06-13T11:05:52.8942410Z           ]
2026-06-13T11:05:52.8942516Z         },
2026-06-13T11:05:52.8942643Z         "int": {
2026-06-13T11:05:52.8942768Z           "complete": false,
2026-06-13T11:05:52.8942888Z           "evidence": []
2026-06-13T11:05:52.8943015Z         },
2026-06-13T11:05:52.8943116Z         "unit": {
2026-06-13T11:05:52.8943254Z           "complete": true,
2026-06-13T11:05:52.8943378Z           "evidence": [
2026-06-13T11:05:52.8943488Z             {
2026-06-13T11:05:52.8943640Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8943760Z               "line": 1478
2026-06-13T11:05:52.8943903Z             },
2026-06-13T11:05:52.8944028Z             {
2026-06-13T11:05:52.8944202Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8944323Z               "line": 1501
2026-06-13T11:05:52.8944456Z             },
2026-06-13T11:05:52.8944588Z             {
2026-06-13T11:05:52.8944741Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8944872Z               "line": 1538
2026-06-13T11:05:52.8944987Z             },
2026-06-13T11:05:52.8945112Z             {
2026-06-13T11:05:52.8945253Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.8945378Z               "line": 457
2026-06-13T11:05:52.8945640Z             },
2026-06-13T11:05:52.8945754Z             {
2026-06-13T11:05:52.8945926Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T11:05:52.8946045Z               "line": 172
2026-06-13T11:05:52.8946173Z             },
2026-06-13T11:05:52.8946284Z             {
2026-06-13T11:05:52.8946451Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T11:05:52.8946689Z               "line": 193
2026-06-13T11:05:52.8946803Z             },
2026-06-13T11:05:52.8946928Z             {
2026-06-13T11:05:52.8947079Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T11:05:52.8947219Z               "line": 219
2026-06-13T11:05:52.8947328Z             }
2026-06-13T11:05:52.8953324Z           ]
2026-06-13T11:05:52.8953452Z         }
2026-06-13T11:05:52.8953570Z       }
2026-06-13T11:05:52.8953696Z     },
2026-06-13T11:05:52.8953809Z     {
2026-06-13T11:05:52.8953943Z       "id": "REQ-INST-13",
2026-06-13T11:05:52.8954181Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-13T11:05:52.8954330Z       "requiredStages": [
2026-06-13T11:05:52.8954448Z         "impl",
2026-06-13T11:05:52.8954563Z         "unit"
2026-06-13T11:05:52.8954687Z       ],
2026-06-13T11:05:52.8954792Z       "stages": {
2026-06-13T11:05:52.8954907Z         "doc": {
2026-06-13T11:05:52.8955035Z           "complete": false,
2026-06-13T11:05:52.8955172Z           "evidence": []
2026-06-13T11:05:52.8955296Z         },
2026-06-13T11:05:52.8955404Z         "impl": {
2026-06-13T11:05:52.8955532Z           "complete": true,
2026-06-13T11:05:52.8955642Z           "evidence": [
2026-06-13T11:05:52.8955760Z             {
2026-06-13T11:05:52.8955914Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.8956047Z               "line": 100
2026-06-13T11:05:52.8956181Z             },
2026-06-13T11:05:52.8956291Z             {
2026-06-13T11:05:52.8956452Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T11:05:52.8956568Z               "line": 158
2026-06-13T11:05:52.8956701Z             }
2026-06-13T11:05:52.8956820Z           ]
2026-06-13T11:05:52.8956944Z         },
2026-06-13T11:05:52.8957062Z         "int": {
2026-06-13T11:05:52.8957188Z           "complete": false,
2026-06-13T11:05:52.8957320Z           "evidence": []
2026-06-13T11:05:52.8957430Z         },
2026-06-13T11:05:52.8957564Z         "unit": {
2026-06-13T11:05:52.8957701Z           "complete": true,
2026-06-13T11:05:52.8957822Z           "evidence": [
2026-06-13T11:05:52.8957949Z             {
2026-06-13T11:05:52.8958111Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T11:05:52.8958231Z               "line": 248
2026-06-13T11:05:52.8958344Z             },
2026-06-13T11:05:52.8958484Z             {
2026-06-13T11:05:52.8958654Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-13T11:05:52.8958798Z               "line": 266
2026-06-13T11:05:52.8958935Z             }
2026-06-13T11:05:52.8959146Z           ]
2026-06-13T11:05:52.8959278Z         }
2026-06-13T11:05:52.8959389Z       }
2026-06-13T11:05:52.8959507Z     },
2026-06-13T11:05:52.8959612Z     {
2026-06-13T11:05:52.8959747Z       "id": "REQ-INST-14",
2026-06-13T11:05:52.8960170Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-13T11:05:52.8960302Z       "requiredStages": [
2026-06-13T11:05:52.8960427Z         "doc",
2026-06-13T11:05:52.8960534Z         "impl",
2026-06-13T11:05:52.8960654Z         "unit"
2026-06-13T11:05:52.8960769Z       ],
2026-06-13T11:05:52.8960877Z       "stages": {
2026-06-13T11:05:52.8960997Z         "doc": {
2026-06-13T11:05:52.8961122Z           "complete": true,
2026-06-13T11:05:52.8961244Z           "evidence": [
2026-06-13T11:05:52.8961351Z             {
2026-06-13T11:05:52.8961492Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.8961608Z               "line": 477
2026-06-13T11:05:52.8961731Z             },
2026-06-13T11:05:52.8961850Z             {
2026-06-13T11:05:52.8962179Z               "path": "docs/STORAGE.md",
2026-06-13T11:05:52.8962310Z               "line": 49
2026-06-13T11:05:52.8962422Z             }
2026-06-13T11:05:52.8962547Z           ]
2026-06-13T11:05:52.8962662Z         },
2026-06-13T11:05:52.8962785Z         "impl": {
2026-06-13T11:05:52.8962920Z           "complete": true,
2026-06-13T11:05:52.8963141Z           "evidence": [
2026-06-13T11:05:52.8963266Z             {
2026-06-13T11:05:52.8963430Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8963564Z               "line": 404
2026-06-13T11:05:52.8963688Z             },
2026-06-13T11:05:52.8963796Z             {
2026-06-13T11:05:52.8963960Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8964078Z               "line": 346
2026-06-13T11:05:52.8964204Z             },
2026-06-13T11:05:52.8964308Z             {
2026-06-13T11:05:52.8964465Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8964603Z               "line": 211
2026-06-13T11:05:52.8964708Z             },
2026-06-13T11:05:52.8964823Z             {
2026-06-13T11:05:52.8964961Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8965089Z               "line": 1104
2026-06-13T11:05:52.8965205Z             }
2026-06-13T11:05:52.8965323Z           ]
2026-06-13T11:05:52.8965453Z         },
2026-06-13T11:05:52.8965567Z         "int": {
2026-06-13T11:05:52.8965699Z           "complete": false,
2026-06-13T11:05:52.8965814Z           "evidence": []
2026-06-13T11:05:52.8965935Z         },
2026-06-13T11:05:52.8966049Z         "unit": {
2026-06-13T11:05:52.8966184Z           "complete": true,
2026-06-13T11:05:52.8966307Z           "evidence": [
2026-06-13T11:05:52.8966416Z             {
2026-06-13T11:05:52.8966589Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8966712Z               "line": 1111
2026-06-13T11:05:52.8966827Z             },
2026-06-13T11:05:52.8966932Z             {
2026-06-13T11:05:52.8967104Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8967232Z               "line": 912
2026-06-13T11:05:52.8967346Z             },
2026-06-13T11:05:52.8967471Z             {
2026-06-13T11:05:52.8967622Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.8967752Z               "line": 1173
2026-06-13T11:05:52.8967865Z             },
2026-06-13T11:05:52.8967981Z             {
2026-06-13T11:05:52.8968129Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.8968252Z               "line": 463
2026-06-13T11:05:52.8968368Z             },
2026-06-13T11:05:52.8968472Z             {
2026-06-13T11:05:52.8968613Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8968729Z               "line": 5917
2026-06-13T11:05:52.8968866Z             }
2026-06-13T11:05:52.8969063Z           ]
2026-06-13T11:05:52.8969167Z         }
2026-06-13T11:05:52.8969296Z       }
2026-06-13T11:05:52.8969415Z     },
2026-06-13T11:05:52.8969538Z     {
2026-06-13T11:05:52.8969678Z       "id": "REQ-INST-15",
2026-06-13T11:05:52.8970464Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-13T11:05:52.8970594Z       "requiredStages": [
2026-06-13T11:05:52.8970707Z         "doc",
2026-06-13T11:05:52.8970821Z         "impl",
2026-06-13T11:05:52.8970930Z         "unit"
2026-06-13T11:05:52.8971048Z       ],
2026-06-13T11:05:52.8971170Z       "stages": {
2026-06-13T11:05:52.8971286Z         "doc": {
2026-06-13T11:05:52.8971409Z           "complete": true,
2026-06-13T11:05:52.8971524Z           "evidence": [
2026-06-13T11:05:52.8971643Z             {
2026-06-13T11:05:52.8971853Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-13T11:05:52.8971982Z               "line": 3
2026-06-13T11:05:52.8972263Z             }
2026-06-13T11:05:52.8972372Z           ]
2026-06-13T11:05:52.8972492Z         },
2026-06-13T11:05:52.8972606Z         "impl": {
2026-06-13T11:05:52.8972739Z           "complete": true,
2026-06-13T11:05:52.8972855Z           "evidence": [
2026-06-13T11:05:52.8972973Z             {
2026-06-13T11:05:52.8973141Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8973374Z               "line": 353
2026-06-13T11:05:52.8973494Z             },
2026-06-13T11:05:52.8973602Z             {
2026-06-13T11:05:52.8973754Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T11:05:52.8973873Z               "line": 60
2026-06-13T11:05:52.8973995Z             },
2026-06-13T11:05:52.8974109Z             {
2026-06-13T11:05:52.8974267Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8974395Z               "line": 368
2026-06-13T11:05:52.8974506Z             },
2026-06-13T11:05:52.8974614Z             {
2026-06-13T11:05:52.8974778Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8974901Z               "line": 417
2026-06-13T11:05:52.8975015Z             },
2026-06-13T11:05:52.8975121Z             {
2026-06-13T11:05:52.8975278Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T11:05:52.8975403Z               "line": 19
2026-06-13T11:05:52.8975554Z             },
2026-06-13T11:05:52.8975669Z             {
2026-06-13T11:05:52.8975835Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T11:05:52.8975989Z               "line": 70
2026-06-13T11:05:52.8976113Z             },
2026-06-13T11:05:52.8976263Z             {
2026-06-13T11:05:52.8976411Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T11:05:52.8976533Z               "line": 96
2026-06-13T11:05:52.8976643Z             },
2026-06-13T11:05:52.8976763Z             {
2026-06-13T11:05:52.8976909Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T11:05:52.8977025Z               "line": 121
2026-06-13T11:05:52.8977153Z             },
2026-06-13T11:05:52.8977267Z             {
2026-06-13T11:05:52.8977411Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T11:05:52.8977530Z               "line": 172
2026-06-13T11:05:52.8977645Z             },
2026-06-13T11:05:52.8977764Z             {
2026-06-13T11:05:52.8977902Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.8978031Z               "line": 146
2026-06-13T11:05:52.8978145Z             },
2026-06-13T11:05:52.8978260Z             {
2026-06-13T11:05:52.8978393Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8978516Z               "line": 996
2026-06-13T11:05:52.8978642Z             }
2026-06-13T11:05:52.8978755Z           ]
2026-06-13T11:05:52.8978871Z         },
2026-06-13T11:05:52.8979055Z         "int": {
2026-06-13T11:05:52.8979188Z           "complete": false,
2026-06-13T11:05:52.8979304Z           "evidence": []
2026-06-13T11:05:52.8979422Z         },
2026-06-13T11:05:52.8979546Z         "unit": {
2026-06-13T11:05:52.8979680Z           "complete": true,
2026-06-13T11:05:52.8979807Z           "evidence": [
2026-06-13T11:05:52.8979909Z             {
2026-06-13T11:05:52.8980075Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8980185Z               "line": 577
2026-06-13T11:05:52.8980299Z             },
2026-06-13T11:05:52.8980422Z             {
2026-06-13T11:05:52.8980576Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.8980709Z               "line": 638
2026-06-13T11:05:52.8980810Z             },
2026-06-13T11:05:52.8980934Z             {
2026-06-13T11:05:52.8981076Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T11:05:52.8981202Z               "line": 213
2026-06-13T11:05:52.8981323Z             },
2026-06-13T11:05:52.8981432Z             {
2026-06-13T11:05:52.8981580Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T11:05:52.8981702Z               "line": 249
2026-06-13T11:05:52.8981955Z             },
2026-06-13T11:05:52.8982069Z             {
2026-06-13T11:05:52.8982217Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T11:05:52.8982341Z               "line": 262
2026-06-13T11:05:52.8982447Z             },
2026-06-13T11:05:52.8982566Z             {
2026-06-13T11:05:52.8982713Z               "path": "crates/spt-store/src/home.rs",
2026-06-13T11:05:52.8982947Z               "line": 338
2026-06-13T11:05:52.8983067Z             },
2026-06-13T11:05:52.8983180Z             {
2026-06-13T11:05:52.8983338Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.8983458Z               "line": 513
2026-06-13T11:05:52.8983576Z             },
2026-06-13T11:05:52.8983687Z             {
2026-06-13T11:05:52.8983829Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8983953Z               "line": 5854
2026-06-13T11:05:52.8984064Z             },
2026-06-13T11:05:52.8984191Z             {
2026-06-13T11:05:52.8984324Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.8984456Z               "line": 7419
2026-06-13T11:05:52.8984569Z             }
2026-06-13T11:05:52.8984689Z           ]
2026-06-13T11:05:52.8984808Z         }
2026-06-13T11:05:52.8984903Z       }
2026-06-13T11:05:52.8985024Z     },
2026-06-13T11:05:52.8985128Z     {
2026-06-13T11:05:52.8985260Z       "id": "REQ-INST-2",
2026-06-13T11:05:52.8985418Z       "title": "Per-node files, synced Psyche mind",
2026-06-13T11:05:52.8985537Z       "requiredStages": [
2026-06-13T11:05:52.8985667Z         "impl",
2026-06-13T11:05:52.8985781Z         "unit"
2026-06-13T11:05:52.8985899Z       ],
2026-06-13T11:05:52.8986015Z       "stages": {
2026-06-13T11:05:52.8986138Z         "doc": {
2026-06-13T11:05:52.8986258Z           "complete": false,
2026-06-13T11:05:52.8986391Z           "evidence": []
2026-06-13T11:05:52.8986510Z         },
2026-06-13T11:05:52.8986626Z         "impl": {
2026-06-13T11:05:52.8986758Z           "complete": true,
2026-06-13T11:05:52.8986881Z           "evidence": [
2026-06-13T11:05:52.8987018Z             {
2026-06-13T11:05:52.8987183Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8987318Z               "line": 88
2026-06-13T11:05:52.8987456Z             },
2026-06-13T11:05:52.8987571Z             {
2026-06-13T11:05:52.8987732Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.8987861Z               "line": 28
2026-06-13T11:05:52.8987990Z             },
2026-06-13T11:05:52.8988109Z             {
2026-06-13T11:05:52.8988271Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.8988409Z               "line": 74
2026-06-13T11:05:52.8988515Z             },
2026-06-13T11:05:52.8988638Z             {
2026-06-13T11:05:52.8988781Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.8988906Z               "line": 96
2026-06-13T11:05:52.8989072Z             },
2026-06-13T11:05:52.8989197Z             {
2026-06-13T11:05:52.8989344Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T11:05:52.8989469Z               "line": 86
2026-06-13T11:05:52.8989592Z             },
2026-06-13T11:05:52.8989700Z             {
2026-06-13T11:05:52.8989854Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-13T11:05:52.8989968Z               "line": 118
2026-06-13T11:05:52.8990086Z             }
2026-06-13T11:05:52.8990211Z           ]
2026-06-13T11:05:52.8990311Z         },
2026-06-13T11:05:52.8990431Z         "int": {
2026-06-13T11:05:52.8990554Z           "complete": false,
2026-06-13T11:05:52.8990677Z           "evidence": []
2026-06-13T11:05:52.8990793Z         },
2026-06-13T11:05:52.8990917Z         "unit": {
2026-06-13T11:05:52.8991050Z           "complete": true,
2026-06-13T11:05:52.8991160Z           "evidence": [
2026-06-13T11:05:52.8991274Z             {
2026-06-13T11:05:52.8991418Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-13T11:05:52.8991545Z               "line": 250
2026-06-13T11:05:52.8991651Z             },
2026-06-13T11:05:52.8991776Z             {
2026-06-13T11:05:52.8992046Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T11:05:52.8992168Z               "line": 272
2026-06-13T11:05:52.8992276Z             }
2026-06-13T11:05:52.8992386Z           ]
2026-06-13T11:05:52.8992511Z         }
2026-06-13T11:05:52.8992620Z       }
2026-06-13T11:05:52.8992740Z     },
2026-06-13T11:05:52.8992939Z     {
2026-06-13T11:05:52.8993055Z       "id": "REQ-INST-3",
2026-06-13T11:05:52.8993244Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-13T11:05:52.8993360Z       "requiredStages": [
2026-06-13T11:05:52.8993479Z         "doc",
2026-06-13T11:05:52.8993593Z         "impl",
2026-06-13T11:05:52.8993722Z         "unit"
2026-06-13T11:05:52.8993840Z       ],
2026-06-13T11:05:52.8993952Z       "stages": {
2026-06-13T11:05:52.8994060Z         "doc": {
2026-06-13T11:05:52.8994179Z           "complete": true,
2026-06-13T11:05:52.8994305Z           "evidence": [
2026-06-13T11:05:52.8994408Z             {
2026-06-13T11:05:52.8994567Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-13T11:05:52.8994690Z               "line": 3
2026-06-13T11:05:52.8994798Z             }
2026-06-13T11:05:52.8994917Z           ]
2026-06-13T11:05:52.8995017Z         },
2026-06-13T11:05:52.8995144Z         "impl": {
2026-06-13T11:05:52.8995263Z           "complete": true,
2026-06-13T11:05:52.8995401Z           "evidence": [
2026-06-13T11:05:52.8995520Z             {
2026-06-13T11:05:52.8995674Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T11:05:52.8995782Z               "line": 70
2026-06-13T11:05:52.8995893Z             },
2026-06-13T11:05:52.8996013Z             {
2026-06-13T11:05:52.8996174Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.8996307Z               "line": 480
2026-06-13T11:05:52.8996460Z             },
2026-06-13T11:05:52.8996571Z             {
2026-06-13T11:05:52.8996756Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8996876Z               "line": 204
2026-06-13T11:05:52.8997018Z             },
2026-06-13T11:05:52.8997134Z             {
2026-06-13T11:05:52.8997298Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8997436Z               "line": 334
2026-06-13T11:05:52.8997560Z             },
2026-06-13T11:05:52.8997682Z             {
2026-06-13T11:05:52.8997835Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.8997968Z               "line": 368
2026-06-13T11:05:52.8998078Z             },
2026-06-13T11:05:52.8998198Z             {
2026-06-13T11:05:52.8998363Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-13T11:05:52.8998484Z               "line": 74
2026-06-13T11:05:52.8998607Z             },
2026-06-13T11:05:52.8998717Z             {
2026-06-13T11:05:52.8998893Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8999123Z               "line": 234
2026-06-13T11:05:52.8999236Z             },
2026-06-13T11:05:52.8999346Z             {
2026-06-13T11:05:52.8999513Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.8999646Z               "line": 390
2026-06-13T11:05:52.8999748Z             },
2026-06-13T11:05:52.8999870Z             {
2026-06-13T11:05:52.9000024Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9000147Z               "line": 45
2026-06-13T11:05:52.9000274Z             },
2026-06-13T11:05:52.9000380Z             {
2026-06-13T11:05:52.9000542Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9000656Z               "line": 114
2026-06-13T11:05:52.9000781Z             },
2026-06-13T11:05:52.9000899Z             {
2026-06-13T11:05:52.9001053Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9001167Z               "line": 152
2026-06-13T11:05:52.9001262Z             },
2026-06-13T11:05:52.9001372Z             {
2026-06-13T11:05:52.9001519Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9001772Z               "line": 168
2026-06-13T11:05:52.9001891Z             },
2026-06-13T11:05:52.9002011Z             {
2026-06-13T11:05:52.9002173Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9002284Z               "line": 178
2026-06-13T11:05:52.9002401Z             },
2026-06-13T11:05:52.9002515Z             {
2026-06-13T11:05:52.9002794Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9002928Z               "line": 210
2026-06-13T11:05:52.9003043Z             },
2026-06-13T11:05:52.9003151Z             {
2026-06-13T11:05:52.9003305Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9003428Z               "line": 287
2026-06-13T11:05:52.9003533Z             },
2026-06-13T11:05:52.9003653Z             {
2026-06-13T11:05:52.9003809Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9003920Z               "line": 311
2026-06-13T11:05:52.9004043Z             },
2026-06-13T11:05:52.9004148Z             {
2026-06-13T11:05:52.9004320Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9004439Z               "line": 389
2026-06-13T11:05:52.9004559Z             },
2026-06-13T11:05:52.9004672Z             {
2026-06-13T11:05:52.9004807Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9004945Z               "line": 438
2026-06-13T11:05:52.9005054Z             },
2026-06-13T11:05:52.9005179Z             {
2026-06-13T11:05:52.9005344Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-13T11:05:52.9005458Z               "line": 37
2026-06-13T11:05:52.9005572Z             },
2026-06-13T11:05:52.9005680Z             {
2026-06-13T11:05:52.9005838Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9005957Z               "line": 62
2026-06-13T11:05:52.9006080Z             },
2026-06-13T11:05:52.9006214Z             {
2026-06-13T11:05:52.9006362Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.9006511Z               "line": 190
2026-06-13T11:05:52.9006629Z             },
2026-06-13T11:05:52.9006754Z             {
2026-06-13T11:05:52.9006896Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9007034Z               "line": 1325
2026-06-13T11:05:52.9007159Z             }
2026-06-13T11:05:52.9007263Z           ]
2026-06-13T11:05:52.9007388Z         },
2026-06-13T11:05:52.9007502Z         "int": {
2026-06-13T11:05:52.9007630Z           "complete": false,
2026-06-13T11:05:52.9007741Z           "evidence": []
2026-06-13T11:05:52.9007863Z         },
2026-06-13T11:05:52.9007981Z         "unit": {
2026-06-13T11:05:52.9008111Z           "complete": true,
2026-06-13T11:05:52.9008247Z           "evidence": [
2026-06-13T11:05:52.9008356Z             {
2026-06-13T11:05:52.9008509Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:52.9008628Z               "line": 360
2026-06-13T11:05:52.9008753Z             },
2026-06-13T11:05:52.9008866Z             {
2026-06-13T11:05:52.9009115Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.9009243Z               "line": 787
2026-06-13T11:05:52.9009349Z             },
2026-06-13T11:05:52.9009468Z             {
2026-06-13T11:05:52.9009616Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.9009735Z               "line": 844
2026-06-13T11:05:52.9009844Z             },
2026-06-13T11:05:52.9009955Z             {
2026-06-13T11:05:52.9010116Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.9010231Z               "line": 889
2026-06-13T11:05:52.9010346Z             },
2026-06-13T11:05:52.9010450Z             {
2026-06-13T11:05:52.9010613Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.9010735Z               "line": 1014
2026-06-13T11:05:52.9010834Z             },
2026-06-13T11:05:52.9010950Z             {
2026-06-13T11:05:52.9011093Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9011322Z               "line": 1212
2026-06-13T11:05:52.9011421Z             },
2026-06-13T11:05:52.9011531Z             {
2026-06-13T11:05:52.9011684Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9011793Z               "line": 1353
2026-06-13T11:05:52.9011900Z             },
2026-06-13T11:05:52.9012003Z             {
2026-06-13T11:05:52.9012252Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9012361Z               "line": 449
2026-06-13T11:05:52.9012471Z             },
2026-06-13T11:05:52.9012585Z             {
2026-06-13T11:05:52.9012728Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9012839Z               "line": 485
2026-06-13T11:05:52.9012942Z             },
2026-06-13T11:05:52.9013051Z             {
2026-06-13T11:05:52.9013190Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9013297Z               "line": 540
2026-06-13T11:05:52.9013411Z             },
2026-06-13T11:05:52.9013521Z             {
2026-06-13T11:05:52.9013664Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9013773Z               "line": 697
2026-06-13T11:05:52.9013884Z             },
2026-06-13T11:05:52.9013988Z             {
2026-06-13T11:05:52.9014132Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9014251Z               "line": 931
2026-06-13T11:05:52.9014350Z             },
2026-06-13T11:05:52.9014461Z             {
2026-06-13T11:05:52.9014599Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9014713Z               "line": 945
2026-06-13T11:05:52.9014819Z             },
2026-06-13T11:05:52.9014928Z             {
2026-06-13T11:05:52.9015077Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9015190Z               "line": 1214
2026-06-13T11:05:52.9015295Z             },
2026-06-13T11:05:52.9015401Z             {
2026-06-13T11:05:52.9015552Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.9015677Z               "line": 413
2026-06-13T11:05:52.9015773Z             },
2026-06-13T11:05:52.9015890Z             {
2026-06-13T11:05:52.9016014Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9016132Z               "line": 5878
2026-06-13T11:05:52.9016235Z             }
2026-06-13T11:05:52.9016345Z           ]
2026-06-13T11:05:52.9016465Z         }
2026-06-13T11:05:52.9016573Z       }
2026-06-13T11:05:52.9016689Z     },
2026-06-13T11:05:52.9016799Z     {
2026-06-13T11:05:52.9016926Z       "id": "REQ-INST-4",
2026-06-13T11:05:52.9017133Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-13T11:05:52.9017261Z       "requiredStages": [
2026-06-13T11:05:52.9017376Z         "impl",
2026-06-13T11:05:52.9017485Z         "unit"
2026-06-13T11:05:52.9017599Z       ],
2026-06-13T11:05:52.9017715Z       "stages": {
2026-06-13T11:05:52.9017833Z         "doc": {
2026-06-13T11:05:52.9017949Z           "complete": false,
2026-06-13T11:05:52.9018076Z           "evidence": []
2026-06-13T11:05:52.9018181Z         },
2026-06-13T11:05:52.9018287Z         "impl": {
2026-06-13T11:05:52.9018410Z           "complete": true,
2026-06-13T11:05:52.9018523Z           "evidence": [
2026-06-13T11:05:52.9018628Z             {
2026-06-13T11:05:52.9018778Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.9018908Z               "line": 335
2026-06-13T11:05:52.9019102Z             },
2026-06-13T11:05:52.9019217Z             {
2026-06-13T11:05:52.9019375Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9019489Z               "line": 202
2026-06-13T11:05:52.9019590Z             },
2026-06-13T11:05:52.9019704Z             {
2026-06-13T11:05:52.9019842Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9019966Z               "line": 234
2026-06-13T11:05:52.9020070Z             },
2026-06-13T11:05:52.9020176Z             {
2026-06-13T11:05:52.9020323Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9020549Z               "line": 274
2026-06-13T11:05:52.9020652Z             }
2026-06-13T11:05:52.9020762Z           ]
2026-06-13T11:05:52.9020868Z         },
2026-06-13T11:05:52.9020976Z         "int": {
2026-06-13T11:05:52.9021087Z           "complete": false,
2026-06-13T11:05:52.9021202Z           "evidence": []
2026-06-13T11:05:52.9021409Z         },
2026-06-13T11:05:52.9021515Z         "unit": {
2026-06-13T11:05:52.9021643Z           "complete": true,
2026-06-13T11:05:52.9021772Z           "evidence": [
2026-06-13T11:05:52.9021877Z             {
2026-06-13T11:05:52.9022039Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.9022145Z               "line": 839
2026-06-13T11:05:52.9022263Z             },
2026-06-13T11:05:52.9022372Z             {
2026-06-13T11:05:52.9022525Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9022649Z               "line": 561
2026-06-13T11:05:52.9022755Z             },
2026-06-13T11:05:52.9022873Z             {
2026-06-13T11:05:52.9023016Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9023141Z               "line": 668
2026-06-13T11:05:52.9023250Z             },
2026-06-13T11:05:52.9023350Z             {
2026-06-13T11:05:52.9023498Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9023611Z               "line": 750
2026-06-13T11:05:52.9023721Z             }
2026-06-13T11:05:52.9023820Z           ]
2026-06-13T11:05:52.9023933Z         }
2026-06-13T11:05:52.9024033Z       }
2026-06-13T11:05:52.9024144Z     },
2026-06-13T11:05:52.9024253Z     {
2026-06-13T11:05:52.9024363Z       "id": "REQ-INST-5",
2026-06-13T11:05:52.9024572Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-13T11:05:52.9024688Z       "requiredStages": [
2026-06-13T11:05:52.9024811Z         "impl",
2026-06-13T11:05:52.9024920Z         "unit",
2026-06-13T11:05:52.9025026Z         "int"
2026-06-13T11:05:52.9025135Z       ],
2026-06-13T11:05:52.9025244Z       "stages": {
2026-06-13T11:05:52.9025364Z         "doc": {
2026-06-13T11:05:52.9025483Z           "complete": false,
2026-06-13T11:05:52.9025607Z           "evidence": []
2026-06-13T11:05:52.9025708Z         },
2026-06-13T11:05:52.9025817Z         "impl": {
2026-06-13T11:05:52.9025942Z           "complete": true,
2026-06-13T11:05:52.9026065Z           "evidence": [
2026-06-13T11:05:52.9026170Z             {
2026-06-13T11:05:52.9026323Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-13T11:05:52.9026446Z               "line": 85
2026-06-13T11:05:52.9026555Z             },
2026-06-13T11:05:52.9026669Z             {
2026-06-13T11:05:52.9026819Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.9026930Z               "line": 68
2026-06-13T11:05:52.9027049Z             },
2026-06-13T11:05:52.9027157Z             {
2026-06-13T11:05:52.9027312Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.9027430Z               "line": 99
2026-06-13T11:05:52.9027550Z             },
2026-06-13T11:05:52.9027664Z             {
2026-06-13T11:05:52.9027801Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.9027922Z               "line": 183
2026-06-13T11:05:52.9028031Z             },
2026-06-13T11:05:52.9028150Z             {
2026-06-13T11:05:52.9028303Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.9028417Z               "line": 314
2026-06-13T11:05:52.9028537Z             }
2026-06-13T11:05:52.9028646Z           ]
2026-06-13T11:05:52.9028760Z         },
2026-06-13T11:05:52.9028876Z         "int": {
2026-06-13T11:05:52.9029093Z           "complete": true,
2026-06-13T11:05:52.9029217Z           "evidence": [
2026-06-13T11:05:52.9029329Z             {
2026-06-13T11:05:52.9029482Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9029607Z               "line": 156
2026-06-13T11:05:52.9029720Z             },
2026-06-13T11:05:52.9029826Z             {
2026-06-13T11:05:52.9030140Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-13T11:05:52.9030259Z               "line": 102
2026-06-13T11:05:52.9030368Z             },
2026-06-13T11:05:52.9030484Z             {
2026-06-13T11:05:52.9030640Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9030770Z               "line": 637
2026-06-13T11:05:52.9031003Z             },
2026-06-13T11:05:52.9031137Z             {
2026-06-13T11:05:52.9031308Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9031428Z               "line": 974
2026-06-13T11:05:52.9031555Z             }
2026-06-13T11:05:52.9031671Z           ]
2026-06-13T11:05:52.9031805Z         },
2026-06-13T11:05:52.9031922Z         "unit": {
2026-06-13T11:05:52.9032065Z           "complete": true,
2026-06-13T11:05:52.9032194Z           "evidence": [
2026-06-13T11:05:52.9032312Z             {
2026-06-13T11:05:52.9032481Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.9032613Z               "line": 552
2026-06-13T11:05:52.9032733Z             },
2026-06-13T11:05:52.9032842Z             {
2026-06-13T11:05:52.9032990Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.9033119Z               "line": 595
2026-06-13T11:05:52.9033233Z             },
2026-06-13T11:05:52.9033349Z             {
2026-06-13T11:05:52.9033505Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T11:05:52.9033625Z               "line": 219
2026-06-13T11:05:52.9033729Z             }
2026-06-13T11:05:52.9033843Z           ]
2026-06-13T11:05:52.9033959Z         }
2026-06-13T11:05:52.9034063Z       }
2026-06-13T11:05:52.9034176Z     },
2026-06-13T11:05:52.9034281Z     {
2026-06-13T11:05:52.9034403Z       "id": "REQ-INST-6",
2026-06-13T11:05:52.9034618Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-13T11:05:52.9034741Z       "requiredStages": [
2026-06-13T11:05:52.9034860Z         "impl",
2026-06-13T11:05:52.9034966Z         "unit",
2026-06-13T11:05:52.9035089Z         "int"
2026-06-13T11:05:52.9035194Z       ],
2026-06-13T11:05:52.9035309Z       "stages": {
2026-06-13T11:05:52.9035418Z         "doc": {
2026-06-13T11:05:52.9035543Z           "complete": true,
2026-06-13T11:05:52.9035662Z           "evidence": [
2026-06-13T11:05:52.9035771Z             {
2026-06-13T11:05:52.9035915Z               "path": "docs/DEFERRED.md",
2026-06-13T11:05:52.9036034Z               "line": 13
2026-06-13T11:05:52.9036148Z             }
2026-06-13T11:05:52.9036258Z           ]
2026-06-13T11:05:52.9036372Z         },
2026-06-13T11:05:52.9036487Z         "impl": {
2026-06-13T11:05:52.9036606Z           "complete": true,
2026-06-13T11:05:52.9036725Z           "evidence": [
2026-06-13T11:05:52.9036836Z             {
2026-06-13T11:05:52.9036996Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9037105Z               "line": 391
2026-06-13T11:05:52.9037229Z             },
2026-06-13T11:05:52.9037347Z             {
2026-06-13T11:05:52.9037504Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-13T11:05:52.9037623Z               "line": 27
2026-06-13T11:05:52.9042341Z             },
2026-06-13T11:05:52.9042525Z             {
2026-06-13T11:05:52.9042693Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-13T11:05:52.9042825Z               "line": 73
2026-06-13T11:05:52.9042950Z             },
2026-06-13T11:05:52.9043060Z             {
2026-06-13T11:05:52.9043217Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-13T11:05:52.9043331Z               "line": 182
2026-06-13T11:05:52.9043454Z             },
2026-06-13T11:05:52.9043565Z             {
2026-06-13T11:05:52.9043732Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9043861Z               "line": 426
2026-06-13T11:05:52.9043975Z             },
2026-06-13T11:05:52.9044079Z             {
2026-06-13T11:05:52.9044233Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-13T11:05:52.9044355Z               "line": 31
2026-06-13T11:05:52.9044646Z             },
2026-06-13T11:05:52.9044765Z             {
2026-06-13T11:05:52.9044922Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9045035Z               "line": 182
2026-06-13T11:05:52.9045168Z             },
2026-06-13T11:05:52.9045274Z             {
2026-06-13T11:05:52.9045631Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.9045749Z               "line": 81
2026-06-13T11:05:52.9045874Z             },
2026-06-13T11:05:52.9045992Z             {
2026-06-13T11:05:52.9046132Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9046265Z               "line": 1326
2026-06-13T11:05:52.9046374Z             },
2026-06-13T11:05:52.9046490Z             {
2026-06-13T11:05:52.9046632Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9046757Z               "line": 179
2026-06-13T11:05:52.9046870Z             },
2026-06-13T11:05:52.9046975Z             {
2026-06-13T11:05:52.9047129Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9047242Z               "line": 215
2026-06-13T11:05:52.9047372Z             }
2026-06-13T11:05:52.9047495Z           ]
2026-06-13T11:05:52.9047604Z         },
2026-06-13T11:05:52.9047723Z         "int": {
2026-06-13T11:05:52.9047845Z           "complete": true,
2026-06-13T11:05:52.9047982Z           "evidence": [
2026-06-13T11:05:52.9048088Z             {
2026-06-13T11:05:52.9048250Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9048370Z               "line": 651
2026-06-13T11:05:52.9048479Z             },
2026-06-13T11:05:52.9048593Z             {
2026-06-13T11:05:52.9048741Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9048869Z               "line": 1019
2026-06-13T11:05:52.9049075Z             },
2026-06-13T11:05:52.9049189Z             {
2026-06-13T11:05:52.9049329Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9049447Z               "line": 726
2026-06-13T11:05:52.9049565Z             }
2026-06-13T11:05:52.9049676Z           ]
2026-06-13T11:05:52.9049790Z         },
2026-06-13T11:05:52.9049905Z         "unit": {
2026-06-13T11:05:52.9050024Z           "complete": true,
2026-06-13T11:05:52.9050147Z           "evidence": [
2026-06-13T11:05:52.9050251Z             {
2026-06-13T11:05:52.9050426Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9050539Z               "line": 661
2026-06-13T11:05:52.9050650Z             },
2026-06-13T11:05:52.9050750Z             {
2026-06-13T11:05:52.9050897Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9051027Z               "line": 899
2026-06-13T11:05:52.9051131Z             },
2026-06-13T11:05:52.9051251Z             {
2026-06-13T11:05:52.9051399Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-13T11:05:52.9051518Z               "line": 66
2026-06-13T11:05:52.9051627Z             },
2026-06-13T11:05:52.9051751Z             {
2026-06-13T11:05:52.9051909Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9052028Z               "line": 272
2026-06-13T11:05:52.9052147Z             },
2026-06-13T11:05:52.9052253Z             {
2026-06-13T11:05:52.9052404Z               "path": "crates/spt/src/api/worker.rs",
2026-06-13T11:05:52.9052515Z               "line": 201
2026-06-13T11:05:52.9052647Z             }
2026-06-13T11:05:52.9052767Z           ]
2026-06-13T11:05:52.9052877Z         }
2026-06-13T11:05:52.9052985Z       }
2026-06-13T11:05:52.9053090Z     },
2026-06-13T11:05:52.9053205Z     {
2026-06-13T11:05:52.9053319Z       "id": "REQ-INST-7",
2026-06-13T11:05:52.9053486Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-13T11:05:52.9053611Z       "requiredStages": [
2026-06-13T11:05:52.9053719Z         "impl",
2026-06-13T11:05:52.9053835Z         "unit",
2026-06-13T11:05:52.9053930Z         "int"
2026-06-13T11:05:52.9054058Z       ],
2026-06-13T11:05:52.9054168Z       "stages": {
2026-06-13T11:05:52.9054416Z         "doc": {
2026-06-13T11:05:52.9054535Z           "complete": false,
2026-06-13T11:05:52.9054653Z           "evidence": []
2026-06-13T11:05:52.9054760Z         },
2026-06-13T11:05:52.9054864Z         "impl": {
2026-06-13T11:05:52.9054992Z           "complete": true,
2026-06-13T11:05:52.9055099Z           "evidence": [
2026-06-13T11:05:52.9055320Z             {
2026-06-13T11:05:52.9055478Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9055585Z               "line": 436
2026-06-13T11:05:52.9055695Z             },
2026-06-13T11:05:52.9055805Z             {
2026-06-13T11:05:52.9055962Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9056067Z               "line": 27
2026-06-13T11:05:52.9056182Z             },
2026-06-13T11:05:52.9056295Z             {
2026-06-13T11:05:52.9056463Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9056600Z               "line": 207
2026-06-13T11:05:52.9056711Z             },
2026-06-13T11:05:52.9056821Z             {
2026-06-13T11:05:52.9056978Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9057097Z               "line": 344
2026-06-13T11:05:52.9057211Z             },
2026-06-13T11:05:52.9057317Z             {
2026-06-13T11:05:52.9057473Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-13T11:05:52.9057603Z               "line": 59
2026-06-13T11:05:52.9057713Z             },
2026-06-13T11:05:52.9057812Z             {
2026-06-13T11:05:52.9057975Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9058083Z               "line": 41
2026-06-13T11:05:52.9058192Z             },
2026-06-13T11:05:52.9058302Z             {
2026-06-13T11:05:52.9058457Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.9058572Z               "line": 27
2026-06-13T11:05:52.9058672Z             },
2026-06-13T11:05:52.9058790Z             {
2026-06-13T11:05:52.9059058Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.9059172Z               "line": 119
2026-06-13T11:05:52.9059287Z             },
2026-06-13T11:05:52.9059387Z             {
2026-06-13T11:05:52.9059549Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.9059673Z               "line": 134
2026-06-13T11:05:52.9059787Z             },
2026-06-13T11:05:52.9059894Z             {
2026-06-13T11:05:52.9060045Z               "path": "crates/spt-store/src/registry.rs",
2026-06-13T11:05:52.9060155Z               "line": 139
2026-06-13T11:05:52.9060270Z             }
2026-06-13T11:05:52.9060378Z           ]
2026-06-13T11:05:52.9060494Z         },
2026-06-13T11:05:52.9060599Z         "int": {
2026-06-13T11:05:52.9060725Z           "complete": true,
2026-06-13T11:05:52.9060840Z           "evidence": [
2026-06-13T11:05:52.9060958Z             {
2026-06-13T11:05:52.9061099Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-13T11:05:52.9061225Z               "line": 102
2026-06-13T11:05:52.9061348Z             },
2026-06-13T11:05:52.9061448Z             {
2026-06-13T11:05:52.9061611Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9061719Z               "line": 595
2026-06-13T11:05:52.9061835Z             },
2026-06-13T11:05:52.9061944Z             {
2026-06-13T11:05:52.9062107Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9062240Z               "line": 869
2026-06-13T11:05:52.9062344Z             }
2026-06-13T11:05:52.9062455Z           ]
2026-06-13T11:05:52.9062559Z         },
2026-06-13T11:05:52.9062683Z         "unit": {
2026-06-13T11:05:52.9062808Z           "complete": true,
2026-06-13T11:05:52.9062926Z           "evidence": [
2026-06-13T11:05:52.9063041Z             {
2026-06-13T11:05:52.9063202Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9063322Z               "line": 1082
2026-06-13T11:05:52.9063437Z             },
2026-06-13T11:05:52.9063565Z             {
2026-06-13T11:05:52.9063842Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9063964Z               "line": 1414
2026-06-13T11:05:52.9064080Z             },
2026-06-13T11:05:52.9064185Z             {
2026-06-13T11:05:52.9064347Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-13T11:05:52.9064556Z               "line": 84
2026-06-13T11:05:52.9064666Z             },
2026-06-13T11:05:52.9064771Z             {
2026-06-13T11:05:52.9064937Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9065062Z               "line": 780
2026-06-13T11:05:52.9065162Z             },
2026-06-13T11:05:52.9065272Z             {
2026-06-13T11:05:52.9065420Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9065543Z               "line": 791
2026-06-13T11:05:52.9065649Z             },
2026-06-13T11:05:52.9065767Z             {
2026-06-13T11:05:52.9065928Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9066056Z               "line": 806
2026-06-13T11:05:52.9066202Z             },
2026-06-13T11:05:52.9066303Z             {
2026-06-13T11:05:52.9066455Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.9066574Z               "line": 166
2026-06-13T11:05:52.9066680Z             },
2026-06-13T11:05:52.9066793Z             {
2026-06-13T11:05:52.9066942Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.9067066Z               "line": 181
2026-06-13T11:05:52.9067165Z             },
2026-06-13T11:05:52.9067276Z             {
2026-06-13T11:05:52.9067432Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.9067538Z               "line": 214
2026-06-13T11:05:52.9067652Z             }
2026-06-13T11:05:52.9067747Z           ]
2026-06-13T11:05:52.9067863Z         }
2026-06-13T11:05:52.9067972Z       }
2026-06-13T11:05:52.9068081Z     },
2026-06-13T11:05:52.9068187Z     {
2026-06-13T11:05:52.9068315Z       "id": "REQ-INST-8",
2026-06-13T11:05:52.9068507Z       "title": "Remote-control mode distinct from local operation",
2026-06-13T11:05:52.9068630Z       "requiredStages": [
2026-06-13T11:05:52.9068738Z         "impl",
2026-06-13T11:05:52.9068843Z         "unit",
2026-06-13T11:05:52.9069041Z         "int"
2026-06-13T11:05:52.9069146Z       ],
2026-06-13T11:05:52.9069256Z       "stages": {
2026-06-13T11:05:52.9069365Z         "doc": {
2026-06-13T11:05:52.9069490Z           "complete": false,
2026-06-13T11:05:52.9069618Z           "evidence": []
2026-06-13T11:05:52.9069718Z         },
2026-06-13T11:05:52.9069834Z         "impl": {
2026-06-13T11:05:52.9069952Z           "complete": true,
2026-06-13T11:05:52.9070071Z           "evidence": [
2026-06-13T11:05:52.9070191Z             {
2026-06-13T11:05:52.9070338Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T11:05:52.9070458Z               "line": 98
2026-06-13T11:05:52.9070567Z             },
2026-06-13T11:05:52.9070686Z             {
2026-06-13T11:05:52.9070834Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T11:05:52.9070953Z               "line": 209
2026-06-13T11:05:52.9071059Z             },
2026-06-13T11:05:52.9071168Z             {
2026-06-13T11:05:52.9071318Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T11:05:52.9071439Z               "line": 230
2026-06-13T11:05:52.9071555Z             },
2026-06-13T11:05:52.9071664Z             {
2026-06-13T11:05:52.9071804Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-13T11:05:52.9071927Z               "line": 35
2026-06-13T11:05:52.9072037Z             }
2026-06-13T11:05:52.9072152Z           ]
2026-06-13T11:05:52.9072266Z         },
2026-06-13T11:05:52.9072404Z         "int": {
2026-06-13T11:05:52.9072533Z           "complete": true,
2026-06-13T11:05:52.9072648Z           "evidence": [
2026-06-13T11:05:52.9072767Z             {
2026-06-13T11:05:52.9072919Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9073044Z               "line": 415
2026-06-13T11:05:52.9073287Z             },
2026-06-13T11:05:52.9073401Z             {
2026-06-13T11:05:52.9073558Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9073678Z               "line": 933
2026-06-13T11:05:52.9073796Z             }
2026-06-13T11:05:52.9073902Z           ]
2026-06-13T11:05:52.9074110Z         },
2026-06-13T11:05:52.9074224Z         "unit": {
2026-06-13T11:05:52.9074349Z           "complete": true,
2026-06-13T11:05:52.9074468Z           "evidence": [
2026-06-13T11:05:52.9074572Z             {
2026-06-13T11:05:52.9074731Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-13T11:05:52.9074844Z               "line": 181
2026-06-13T11:05:52.9074959Z             },
2026-06-13T11:05:52.9075069Z             {
2026-06-13T11:05:52.9075221Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-13T11:05:52.9075341Z               "line": 259
2026-06-13T11:05:52.9075450Z             },
2026-06-13T11:05:52.9075566Z             {
2026-06-13T11:05:52.9075717Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-13T11:05:52.9075841Z               "line": 70
2026-06-13T11:05:52.9075951Z             },
2026-06-13T11:05:52.9076065Z             {
2026-06-13T11:05:52.9076219Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-13T11:05:52.9076341Z               "line": 110
2026-06-13T11:05:52.9076455Z             }
2026-06-13T11:05:52.9076560Z           ]
2026-06-13T11:05:52.9076677Z         }
2026-06-13T11:05:52.9076781Z       }
2026-06-13T11:05:52.9076892Z     },
2026-06-13T11:05:52.9077001Z     {
2026-06-13T11:05:52.9077115Z       "id": "REQ-INST-9",
2026-06-13T11:05:52.9077340Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-13T11:05:52.9077459Z       "requiredStages": [
2026-06-13T11:05:52.9077574Z         "impl",
2026-06-13T11:05:52.9077682Z         "unit"
2026-06-13T11:05:52.9077798Z       ],
2026-06-13T11:05:52.9077916Z       "stages": {
2026-06-13T11:05:52.9078035Z         "doc": {
2026-06-13T11:05:52.9078160Z           "complete": false,
2026-06-13T11:05:52.9078275Z           "evidence": []
2026-06-13T11:05:52.9078384Z         },
2026-06-13T11:05:52.9078495Z         "impl": {
2026-06-13T11:05:52.9078618Z           "complete": true,
2026-06-13T11:05:52.9078738Z           "evidence": [
2026-06-13T11:05:52.9078852Z             {
2026-06-13T11:05:52.9079105Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9079218Z               "line": 417
2026-06-13T11:05:52.9079331Z             }
2026-06-13T11:05:52.9079441Z           ]
2026-06-13T11:05:52.9079554Z         },
2026-06-13T11:05:52.9079662Z         "int": {
2026-06-13T11:05:52.9079783Z           "complete": false,
2026-06-13T11:05:52.9079901Z           "evidence": []
2026-06-13T11:05:52.9080016Z         },
2026-06-13T11:05:52.9080130Z         "unit": {
2026-06-13T11:05:52.9080249Z           "complete": true,
2026-06-13T11:05:52.9080370Z           "evidence": [
2026-06-13T11:05:52.9080484Z             {
2026-06-13T11:05:52.9080641Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9080765Z               "line": 1321
2026-06-13T11:05:52.9080874Z             },
2026-06-13T11:05:52.9080989Z             {
2026-06-13T11:05:52.9081136Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9081260Z               "line": 1330
2026-06-13T11:05:52.9081381Z             },
2026-06-13T11:05:52.9081489Z             {
2026-06-13T11:05:52.9081643Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9081756Z               "line": 1346
2026-06-13T11:05:52.9081874Z             },
2026-06-13T11:05:52.9081984Z             {
2026-06-13T11:05:52.9082144Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9082263Z               "line": 1358
2026-06-13T11:05:52.9082374Z             },
2026-06-13T11:05:52.9082487Z             {
2026-06-13T11:05:52.9082627Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9082907Z               "line": 1378
2026-06-13T11:05:52.9083012Z             }
2026-06-13T11:05:52.9083131Z           ]
2026-06-13T11:05:52.9083232Z         }
2026-06-13T11:05:52.9083336Z       }
2026-06-13T11:05:52.9083445Z     },
2026-06-13T11:05:52.9083556Z     {
2026-06-13T11:05:52.9083699Z       "id": "REQ-INSTALL-1",
2026-06-13T11:05:52.9084022Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-13T11:05:52.9084152Z       "requiredStages": [
2026-06-13T11:05:52.9084266Z         "doc",
2026-06-13T11:05:52.9084371Z         "impl",
2026-06-13T11:05:52.9084500Z         "int"
2026-06-13T11:05:52.9084605Z       ],
2026-06-13T11:05:52.9084718Z       "stages": {
2026-06-13T11:05:52.9084822Z         "doc": {
2026-06-13T11:05:52.9084952Z           "complete": true,
2026-06-13T11:05:52.9085075Z           "evidence": [
2026-06-13T11:05:52.9085181Z             {
2026-06-13T11:05:52.9085305Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.9085428Z               "line": 628
2026-06-13T11:05:52.9085562Z             }
2026-06-13T11:05:52.9085671Z           ]
2026-06-13T11:05:52.9085786Z         },
2026-06-13T11:05:52.9085906Z         "impl": {
2026-06-13T11:05:52.9086024Z           "complete": true,
2026-06-13T11:05:52.9086145Z           "evidence": [
2026-06-13T11:05:52.9086253Z             {
2026-06-13T11:05:52.9086397Z               "path": "installer/install.ps1",
2026-06-13T11:05:52.9086511Z               "line": 57
2026-06-13T11:05:52.9086630Z             },
2026-06-13T11:05:52.9086740Z             {
2026-06-13T11:05:52.9086877Z               "path": "installer/install.sh",
2026-06-13T11:05:52.9086996Z               "line": 52
2026-06-13T11:05:52.9087106Z             }
2026-06-13T11:05:52.9087223Z           ]
2026-06-13T11:05:52.9087327Z         },
2026-06-13T11:05:52.9087442Z         "int": {
2026-06-13T11:05:52.9087571Z           "complete": true,
2026-06-13T11:05:52.9087685Z           "evidence": [
2026-06-13T11:05:52.9087796Z             {
2026-06-13T11:05:52.9087956Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-13T11:05:52.9088072Z               "line": 21
2026-06-13T11:05:52.9088181Z             }
2026-06-13T11:05:52.9088295Z           ]
2026-06-13T11:05:52.9088415Z         },
2026-06-13T11:05:52.9088524Z         "unit": {
2026-06-13T11:05:52.9088648Z           "complete": false,
2026-06-13T11:05:52.9088772Z           "evidence": []
2026-06-13T11:05:52.9088882Z         }
2026-06-13T11:05:52.9089087Z       }
2026-06-13T11:05:52.9089202Z     },
2026-06-13T11:05:52.9089313Z     {
2026-06-13T11:05:52.9089435Z       "id": "REQ-INSTALL-2",
2026-06-13T11:05:52.9089608Z       "title": "Marketplace-repackaging-friendly install",
2026-06-13T11:05:52.9089727Z       "requiredStages": [
2026-06-13T11:05:52.9089849Z         "doc"
2026-06-13T11:05:52.9089954Z       ],
2026-06-13T11:05:52.9090072Z       "stages": {
2026-06-13T11:05:52.9090189Z         "doc": {
2026-06-13T11:05:52.9090309Z           "complete": true,
2026-06-13T11:05:52.9090438Z           "evidence": [
2026-06-13T11:05:52.9090547Z             {
2026-06-13T11:05:52.9090681Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.9090795Z               "line": 629
2026-06-13T11:05:52.9090906Z             }
2026-06-13T11:05:52.9091020Z           ]
2026-06-13T11:05:52.9091128Z         },
2026-06-13T11:05:52.9091254Z         "impl": {
2026-06-13T11:05:52.9091372Z           "complete": false,
2026-06-13T11:05:52.9091497Z           "evidence": []
2026-06-13T11:05:52.9091607Z         },
2026-06-13T11:05:52.9091725Z         "int": {
2026-06-13T11:05:52.9091850Z           "complete": false,
2026-06-13T11:05:52.9091969Z           "evidence": []
2026-06-13T11:05:52.9092083Z         },
2026-06-13T11:05:52.9092194Z         "unit": {
2026-06-13T11:05:52.9092316Z           "complete": false,
2026-06-13T11:05:52.9092435Z           "evidence": []
2026-06-13T11:05:52.9092549Z         }
2026-06-13T11:05:52.9092666Z       }
2026-06-13T11:05:52.9092770Z     },
2026-06-13T11:05:52.9093009Z     {
2026-06-13T11:05:52.9093133Z       "id": "REQ-INSTALL-3",
2026-06-13T11:05:52.9093319Z       "title": "Idempotent + interactive-optional first run",
2026-06-13T11:05:52.9093438Z       "requiredStages": [
2026-06-13T11:05:52.9093553Z         "impl",
2026-06-13T11:05:52.9093671Z         "int"
2026-06-13T11:05:52.9093778Z       ],
2026-06-13T11:05:52.9093991Z       "stages": {
2026-06-13T11:05:52.9094107Z         "doc": {
2026-06-13T11:05:52.9094234Z           "complete": false,
2026-06-13T11:05:52.9094349Z           "evidence": []
2026-06-13T11:05:52.9094465Z         },
2026-06-13T11:05:52.9094582Z         "impl": {
2026-06-13T11:05:52.9094707Z           "complete": true,
2026-06-13T11:05:52.9094832Z           "evidence": [
2026-06-13T11:05:52.9094936Z             {
2026-06-13T11:05:52.9095085Z               "path": "installer/install.ps1",
2026-06-13T11:05:52.9095202Z               "line": 100
2026-06-13T11:05:52.9095316Z             },
2026-06-13T11:05:52.9095436Z             {
2026-06-13T11:05:52.9095578Z               "path": "installer/install.ps1",
2026-06-13T11:05:52.9095702Z               "line": 111
2026-06-13T11:05:52.9095812Z             },
2026-06-13T11:05:52.9095931Z             {
2026-06-13T11:05:52.9096061Z               "path": "installer/install.sh",
2026-06-13T11:05:52.9096189Z               "line": 79
2026-06-13T11:05:52.9096308Z             }
2026-06-13T11:05:52.9096418Z           ]
2026-06-13T11:05:52.9096532Z         },
2026-06-13T11:05:52.9096642Z         "int": {
2026-06-13T11:05:52.9096771Z           "complete": true,
2026-06-13T11:05:52.9096890Z           "evidence": [
2026-06-13T11:05:52.9096996Z             {
2026-06-13T11:05:52.9097156Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-13T11:05:52.9097271Z               "line": 167
2026-06-13T11:05:52.9097381Z             }
2026-06-13T11:05:52.9097490Z           ]
2026-06-13T11:05:52.9097604Z         },
2026-06-13T11:05:52.9097713Z         "unit": {
2026-06-13T11:05:52.9097835Z           "complete": false,
2026-06-13T11:05:52.9097959Z           "evidence": []
2026-06-13T11:05:52.9098065Z         }
2026-06-13T11:05:52.9098178Z       }
2026-06-13T11:05:52.9098279Z     },
2026-06-13T11:05:52.9098384Z     {
2026-06-13T11:05:52.9098507Z       "id": "REQ-INSTALL-4",
2026-06-13T11:05:52.9099342Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-13T11:05:52.9099480Z       "requiredStages": [
2026-06-13T11:05:52.9099586Z         "impl",
2026-06-13T11:05:52.9099699Z         "unit"
2026-06-13T11:05:52.9099809Z       ],
2026-06-13T11:05:52.9099929Z       "stages": {
2026-06-13T11:05:52.9100033Z         "doc": {
2026-06-13T11:05:52.9100149Z           "complete": false,
2026-06-13T11:05:52.9100259Z           "evidence": []
2026-06-13T11:05:52.9100366Z         },
2026-06-13T11:05:52.9100480Z         "impl": {
2026-06-13T11:05:52.9100599Z           "complete": true,
2026-06-13T11:05:52.9100721Z           "evidence": [
2026-06-13T11:05:52.9100826Z             {
2026-06-13T11:05:52.9100989Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:52.9101103Z               "line": 154
2026-06-13T11:05:52.9101209Z             },
2026-06-13T11:05:52.9101327Z             {
2026-06-13T11:05:52.9101485Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9101599Z               "line": 29
2026-06-13T11:05:52.9101708Z             },
2026-06-13T11:05:52.9101819Z             {
2026-06-13T11:05:52.9101980Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9102095Z               "line": 139
2026-06-13T11:05:52.9102205Z             },
2026-06-13T11:05:52.9102319Z             {
2026-06-13T11:05:52.9102482Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9102604Z               "line": 183
2026-06-13T11:05:52.9102710Z             },
2026-06-13T11:05:52.9102942Z             {
2026-06-13T11:05:52.9103090Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9103213Z               "line": 213
2026-06-13T11:05:52.9103321Z             },
2026-06-13T11:05:52.9103431Z             {
2026-06-13T11:05:52.9103588Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9103813Z               "line": 245
2026-06-13T11:05:52.9103922Z             },
2026-06-13T11:05:52.9104033Z             {
2026-06-13T11:05:52.9104176Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9104279Z               "line": 4389
2026-06-13T11:05:52.9104390Z             }
2026-06-13T11:05:52.9104499Z           ]
2026-06-13T11:05:52.9104609Z         },
2026-06-13T11:05:52.9104725Z         "int": {
2026-06-13T11:05:52.9104848Z           "complete": false,
2026-06-13T11:05:52.9104977Z           "evidence": []
2026-06-13T11:05:52.9105086Z         },
2026-06-13T11:05:52.9105190Z         "unit": {
2026-06-13T11:05:52.9105306Z           "complete": true,
2026-06-13T11:05:52.9105429Z           "evidence": [
2026-06-13T11:05:52.9105534Z             {
2026-06-13T11:05:52.9105698Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:52.9105819Z               "line": 335
2026-06-13T11:05:52.9105929Z             },
2026-06-13T11:05:52.9106049Z             {
2026-06-13T11:05:52.9106238Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9106354Z               "line": 567
2026-06-13T11:05:52.9106472Z             },
2026-06-13T11:05:52.9106582Z             {
2026-06-13T11:05:52.9106735Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9106853Z               "line": 608
2026-06-13T11:05:52.9106974Z             },
2026-06-13T11:05:52.9107087Z             {
2026-06-13T11:05:52.9107236Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9107354Z               "line": 628
2026-06-13T11:05:52.9107459Z             },
2026-06-13T11:05:52.9107575Z             {
2026-06-13T11:05:52.9107707Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9107826Z               "line": 6197
2026-06-13T11:05:52.9107937Z             }
2026-06-13T11:05:52.9108045Z           ]
2026-06-13T11:05:52.9108154Z         }
2026-06-13T11:05:52.9108264Z       }
2026-06-13T11:05:52.9108376Z     },
2026-06-13T11:05:52.9108495Z     {
2026-06-13T11:05:52.9108616Z       "id": "REQ-INSTALL-5",
2026-06-13T11:05:52.9109240Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-13T11:05:52.9110132Z       "requiredStages": [
2026-06-13T11:05:52.9110384Z         "impl",
2026-06-13T11:05:52.9110607Z         "int"
2026-06-13T11:05:52.9110828Z       ],
2026-06-13T11:05:52.9111055Z       "stages": {
2026-06-13T11:05:52.9111272Z         "doc": {
2026-06-13T11:05:52.9111516Z           "complete": false,
2026-06-13T11:05:52.9111793Z           "evidence": []
2026-06-13T11:05:52.9112036Z         },
2026-06-13T11:05:52.9112282Z         "impl": {
2026-06-13T11:05:52.9112536Z           "complete": true,
2026-06-13T11:05:52.9112817Z           "evidence": [
2026-06-13T11:05:52.9113061Z             {
2026-06-13T11:05:52.9113314Z               "path": "installer/install.ps1",
2026-06-13T11:05:52.9113622Z               "line": 5
2026-06-13T11:05:52.9113900Z             },
2026-06-13T11:05:52.9114162Z             {
2026-06-13T11:05:52.9114412Z               "path": "installer/install.sh",
2026-06-13T11:05:52.9114740Z               "line": 6
2026-06-13T11:05:52.9114998Z             }
2026-06-13T11:05:52.9115227Z           ]
2026-06-13T11:05:52.9115445Z         },
2026-06-13T11:05:52.9115679Z         "int": {
2026-06-13T11:05:52.9115924Z           "complete": true,
2026-06-13T11:05:52.9116181Z           "evidence": [
2026-06-13T11:05:52.9116413Z             {
2026-06-13T11:05:52.9116675Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-13T11:05:52.9117167Z               "line": 22
2026-06-13T11:05:52.9117423Z             }
2026-06-13T11:05:52.9117657Z           ]
2026-06-13T11:05:52.9117895Z         },
2026-06-13T11:05:52.9118125Z         "unit": {
2026-06-13T11:05:52.9118382Z           "complete": false,
2026-06-13T11:05:52.9118643Z           "evidence": []
2026-06-13T11:05:52.9119123Z         }
2026-06-13T11:05:52.9119341Z       }
2026-06-13T11:05:52.9119556Z     },
2026-06-13T11:05:52.9119771Z     {
2026-06-13T11:05:52.9120000Z       "id": "REQ-INSTALL-6",
2026-06-13T11:05:52.9121601Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-13T11:05:52.9122805Z       "requiredStages": [
2026-06-13T11:05:52.9123053Z         "impl",
2026-06-13T11:05:52.9123278Z         "unit"
2026-06-13T11:05:52.9123506Z       ],
2026-06-13T11:05:52.9123711Z       "stages": {
2026-06-13T11:05:52.9123926Z         "doc": {
2026-06-13T11:05:52.9124167Z           "complete": false,
2026-06-13T11:05:52.9124422Z           "evidence": []
2026-06-13T11:05:52.9124671Z         },
2026-06-13T11:05:52.9124886Z         "impl": {
2026-06-13T11:05:52.9125114Z           "complete": true,
2026-06-13T11:05:52.9125352Z           "evidence": [
2026-06-13T11:05:52.9125591Z             {
2026-06-13T11:05:52.9125849Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.9126159Z               "line": 59
2026-06-13T11:05:52.9126392Z             },
2026-06-13T11:05:52.9133199Z             {
2026-06-13T11:05:52.9133551Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.9133880Z               "line": 559
2026-06-13T11:05:52.9134124Z             },
2026-06-13T11:05:52.9134338Z             {
2026-06-13T11:05:52.9134623Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.9134940Z               "line": 191
2026-06-13T11:05:52.9135212Z             },
2026-06-13T11:05:52.9135451Z             {
2026-06-13T11:05:52.9135823Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.9136199Z               "line": 276
2026-06-13T11:05:52.9136480Z             },
2026-06-13T11:05:52.9136776Z             {
2026-06-13T11:05:52.9137095Z               "path": "crates/spt/src/main.rs",
2026-06-13T11:05:52.9137438Z               "line": 40
2026-06-13T11:05:52.9137719Z             },
2026-06-13T11:05:52.9137967Z             {
2026-06-13T11:05:52.9138229Z               "path": "installer/install.sh",
2026-06-13T11:05:52.9138539Z               "line": 104
2026-06-13T11:05:52.9138796Z             }
2026-06-13T11:05:52.9139144Z           ]
2026-06-13T11:05:52.9139396Z         },
2026-06-13T11:05:52.9139641Z         "int": {
2026-06-13T11:05:52.9139901Z           "complete": false,
2026-06-13T11:05:52.9140204Z           "evidence": []
2026-06-13T11:05:52.9140466Z         },
2026-06-13T11:05:52.9140700Z         "unit": {
2026-06-13T11:05:52.9140948Z           "complete": true,
2026-06-13T11:05:52.9141207Z           "evidence": [
2026-06-13T11:05:52.9141449Z             {
2026-06-13T11:05:52.9141725Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-13T11:05:52.9142045Z               "line": 866
2026-06-13T11:05:52.9142283Z             }
2026-06-13T11:05:52.9142499Z           ]
2026-06-13T11:05:52.9142711Z         }
2026-06-13T11:05:52.9142928Z       }
2026-06-13T11:05:52.9143144Z     },
2026-06-13T11:05:52.9143362Z     {
2026-06-13T11:05:52.9143581Z       "id": "REQ-INSTALL-7",
2026-06-13T11:05:52.9144985Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-13T11:05:52.9146416Z       "requiredStages": [
2026-06-13T11:05:52.9146668Z         "impl"
2026-06-13T11:05:52.9146897Z       ],
2026-06-13T11:05:52.9147116Z       "stages": {
2026-06-13T11:05:52.9147345Z         "doc": {
2026-06-13T11:05:52.9147712Z           "complete": false,
2026-06-13T11:05:52.9147970Z           "evidence": []
2026-06-13T11:05:52.9148208Z         },
2026-06-13T11:05:52.9148436Z         "impl": {
2026-06-13T11:05:52.9148670Z           "complete": true,
2026-06-13T11:05:52.9148918Z           "evidence": [
2026-06-13T11:05:52.9149247Z             {
2026-06-13T11:05:52.9149500Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9149792Z               "line": 3047
2026-06-13T11:05:52.9150028Z             },
2026-06-13T11:05:52.9150243Z             {
2026-06-13T11:05:52.9150481Z               "path": "installer/install.ps1",
2026-06-13T11:05:52.9150779Z               "line": 157
2026-06-13T11:05:52.9151017Z             }
2026-06-13T11:05:52.9151227Z           ]
2026-06-13T11:05:52.9151438Z         },
2026-06-13T11:05:52.9151646Z         "int": {
2026-06-13T11:05:52.9151881Z           "complete": false,
2026-06-13T11:05:52.9152129Z           "evidence": []
2026-06-13T11:05:52.9152363Z         },
2026-06-13T11:05:52.9152581Z         "unit": {
2026-06-13T11:05:52.9152814Z           "complete": false,
2026-06-13T11:05:52.9153069Z           "evidence": []
2026-06-13T11:05:52.9153310Z         }
2026-06-13T11:05:52.9153517Z       }
2026-06-13T11:05:52.9153728Z     },
2026-06-13T11:05:52.9153937Z     {
2026-06-13T11:05:52.9154156Z       "id": "REQ-INSTALL-8",
2026-06-13T11:05:52.9155448Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-13T11:05:52.9157182Z       "requiredStages": [
2026-06-13T11:05:52.9157525Z         "impl"
2026-06-13T11:05:52.9157826Z       ],
2026-06-13T11:05:52.9158116Z       "stages": {
2026-06-13T11:05:52.9158426Z         "doc": {
2026-06-13T11:05:52.9158738Z           "complete": false,
2026-06-13T11:05:52.9159244Z           "evidence": []
2026-06-13T11:05:52.9159587Z         },
2026-06-13T11:05:52.9159879Z         "impl": {
2026-06-13T11:05:52.9160203Z           "complete": true,
2026-06-13T11:05:52.9160551Z           "evidence": [
2026-06-13T11:05:52.9160874Z             {
2026-06-13T11:05:52.9161210Z               "path": "installer/install.ps1",
2026-06-13T11:05:52.9161625Z               "line": 184
2026-06-13T11:05:52.9161960Z             },
2026-06-13T11:05:52.9162270Z             {
2026-06-13T11:05:52.9162608Z               "path": "installer/install.sh",
2026-06-13T11:05:52.9163022Z               "line": 121
2026-06-13T11:05:52.9163351Z             }
2026-06-13T11:05:52.9163638Z           ]
2026-06-13T11:05:52.9163927Z         },
2026-06-13T11:05:52.9164220Z         "int": {
2026-06-13T11:05:52.9164546Z           "complete": false,
2026-06-13T11:05:52.9164894Z           "evidence": []
2026-06-13T11:05:52.9165227Z         },
2026-06-13T11:05:52.9165519Z         "unit": {
2026-06-13T11:05:52.9165838Z           "complete": false,
2026-06-13T11:05:52.9166209Z           "evidence": []
2026-06-13T11:05:52.9166456Z         }
2026-06-13T11:05:52.9166668Z       }
2026-06-13T11:05:52.9166879Z     },
2026-06-13T11:05:52.9167088Z     {
2026-06-13T11:05:52.9167403Z       "id": "REQ-MANIFEST-1",
2026-06-13T11:05:52.9167931Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-13T11:05:52.9168465Z       "requiredStages": [
2026-06-13T11:05:52.9168813Z         "doc",
2026-06-13T11:05:52.9169227Z         "impl",
2026-06-13T11:05:52.9169757Z         "unit"
2026-06-13T11:05:52.9170062Z       ],
2026-06-13T11:05:52.9170353Z       "stages": {
2026-06-13T11:05:52.9170658Z         "doc": {
2026-06-13T11:05:52.9170992Z           "complete": true,
2026-06-13T11:05:52.9171349Z           "evidence": [
2026-06-13T11:05:52.9171685Z             {
2026-06-13T11:05:52.9172018Z               "path": "docs/MANIFEST.md",
2026-06-13T11:05:52.9172567Z               "line": 19
2026-06-13T11:05:52.9172892Z             }
2026-06-13T11:05:52.9173197Z           ]
2026-06-13T11:05:52.9173479Z         },
2026-06-13T11:05:52.9173764Z         "impl": {
2026-06-13T11:05:52.9174093Z           "complete": true,
2026-06-13T11:05:52.9174445Z           "evidence": [
2026-06-13T11:05:52.9174776Z             {
2026-06-13T11:05:52.9175139Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9175582Z               "line": 18
2026-06-13T11:05:52.9175934Z             }
2026-06-13T11:05:52.9176226Z           ]
2026-06-13T11:05:52.9176450Z         },
2026-06-13T11:05:52.9176680Z         "int": {
2026-06-13T11:05:52.9176963Z           "complete": false,
2026-06-13T11:05:52.9177343Z           "evidence": []
2026-06-13T11:05:52.9177692Z         },
2026-06-13T11:05:52.9177997Z         "unit": {
2026-06-13T11:05:52.9178326Z           "complete": true,
2026-06-13T11:05:52.9178683Z           "evidence": [
2026-06-13T11:05:52.9179073Z             {
2026-06-13T11:05:52.9179460Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9179922Z               "line": 820
2026-06-13T11:05:52.9180270Z             },
2026-06-13T11:05:52.9180575Z             {
2026-06-13T11:05:52.9180937Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9181361Z               "line": 934
2026-06-13T11:05:52.9181695Z             },
2026-06-13T11:05:52.9182004Z             {
2026-06-13T11:05:52.9182368Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9182803Z               "line": 946
2026-06-13T11:05:52.9183137Z             },
2026-06-13T11:05:52.9183447Z             {
2026-06-13T11:05:52.9183818Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9184262Z               "line": 957
2026-06-13T11:05:52.9184591Z             },
2026-06-13T11:05:52.9184895Z             {
2026-06-13T11:05:52.9185259Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9185704Z               "line": 974
2026-06-13T11:05:52.9186033Z             },
2026-06-13T11:05:52.9186343Z             {
2026-06-13T11:05:52.9186714Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9187152Z               "line": 988
2026-06-13T11:05:52.9187523Z             },
2026-06-13T11:05:52.9187830Z             {
2026-06-13T11:05:52.9188208Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9188642Z               "line": 1053
2026-06-13T11:05:52.9189066Z             },
2026-06-13T11:05:52.9189380Z             {
2026-06-13T11:05:52.9189783Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9190239Z               "line": 1068
2026-06-13T11:05:52.9190591Z             },
2026-06-13T11:05:52.9190839Z             {
2026-06-13T11:05:52.9191097Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9191407Z               "line": 1083
2026-06-13T11:05:52.9191673Z             },
2026-06-13T11:05:52.9191902Z             {
2026-06-13T11:05:52.9192155Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9192451Z               "line": 1094
2026-06-13T11:05:52.9192688Z             }
2026-06-13T11:05:52.9192909Z           ]
2026-06-13T11:05:52.9193120Z         }
2026-06-13T11:05:52.9193330Z       }
2026-06-13T11:05:52.9193544Z     },
2026-06-13T11:05:52.9193759Z     {
2026-06-13T11:05:52.9193988Z       "id": "REQ-MANIFEST-2",
2026-06-13T11:05:52.9194803Z       "title": "Adapter profiles — sparse leaf-replace overlays (shipped + local), composite <adapter>:<profile> addressing, shadow-refusal, tighten-only consent floors",
2026-06-13T11:05:52.9195631Z       "requiredStages": [
2026-06-13T11:05:52.9195892Z         "doc",
2026-06-13T11:05:52.9196124Z         "impl",
2026-06-13T11:05:52.9196349Z         "unit"
2026-06-13T11:05:52.9196583Z       ],
2026-06-13T11:05:52.9196793Z       "stages": {
2026-06-13T11:05:52.9197031Z         "doc": {
2026-06-13T11:05:52.9197398Z           "complete": true,
2026-06-13T11:05:52.9197665Z           "evidence": [
2026-06-13T11:05:52.9197909Z             {
2026-06-13T11:05:52.9198145Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.9198415Z               "line": 75
2026-06-13T11:05:52.9198672Z             }
2026-06-13T11:05:52.9198902Z           ]
2026-06-13T11:05:52.9199207Z         },
2026-06-13T11:05:52.9199427Z         "impl": {
2026-06-13T11:05:52.9199669Z           "complete": true,
2026-06-13T11:05:52.9199936Z           "evidence": [
2026-06-13T11:05:52.9200183Z             {
2026-06-13T11:05:52.9200456Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9200776Z               "line": 66
2026-06-13T11:05:52.9201013Z             },
2026-06-13T11:05:52.9201251Z             {
2026-06-13T11:05:52.9201508Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9201818Z               "line": 15
2026-06-13T11:05:52.9202057Z             },
2026-06-13T11:05:52.9202277Z             {
2026-06-13T11:05:52.9202534Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9202834Z               "line": 65
2026-06-13T11:05:52.9203072Z             },
2026-06-13T11:05:52.9203324Z             {
2026-06-13T11:05:52.9203604Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9203909Z               "line": 83
2026-06-13T11:05:52.9204146Z             },
2026-06-13T11:05:52.9204357Z             {
2026-06-13T11:05:52.9204629Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9204943Z               "line": 165
2026-06-13T11:05:52.9205197Z             },
2026-06-13T11:05:52.9205445Z             {
2026-06-13T11:05:52.9205721Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9206038Z               "line": 326
2026-06-13T11:05:52.9206285Z             },
2026-06-13T11:05:52.9206509Z             {
2026-06-13T11:05:52.9206767Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9207077Z               "line": 352
2026-06-13T11:05:52.9207333Z             },
2026-06-13T11:05:52.9207572Z             {
2026-06-13T11:05:52.9207867Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9208177Z               "line": 430
2026-06-13T11:05:52.9208426Z             },
2026-06-13T11:05:52.9208658Z             {
2026-06-13T11:05:52.9208932Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9209338Z               "line": 455
2026-06-13T11:05:52.9209595Z             },
2026-06-13T11:05:52.9209829Z             {
2026-06-13T11:05:52.9210110Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9210425Z               "line": 478
2026-06-13T11:05:52.9210669Z             },
2026-06-13T11:05:52.9210893Z             {
2026-06-13T11:05:52.9211144Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9211463Z               "line": 493
2026-06-13T11:05:52.9211716Z             },
2026-06-13T11:05:52.9211950Z             {
2026-06-13T11:05:52.9212227Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9212537Z               "line": 4539
2026-06-13T11:05:52.9212876Z             },
2026-06-13T11:05:52.9213186Z             {
2026-06-13T11:05:52.9213548Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9213987Z               "line": 4553
2026-06-13T11:05:52.9214340Z             },
2026-06-13T11:05:52.9214649Z             {
2026-06-13T11:05:52.9214993Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9215428Z               "line": 4587
2026-06-13T11:05:52.9215786Z             }
2026-06-13T11:05:52.9216262Z           ]
2026-06-13T11:05:52.9216494Z         },
2026-06-13T11:05:52.9216723Z         "int": {
2026-06-13T11:05:52.9216978Z           "complete": false,
2026-06-13T11:05:52.9217346Z           "evidence": []
2026-06-13T11:05:52.9217713Z         },
2026-06-13T11:05:52.9218051Z         "unit": {
2026-06-13T11:05:52.9218625Z           "complete": true,
2026-06-13T11:05:52.9219066Z           "evidence": [
2026-06-13T11:05:52.9219421Z             {
2026-06-13T11:05:52.9219806Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9220265Z               "line": 920
2026-06-13T11:05:52.9220599Z             },
2026-06-13T11:05:52.9220900Z             {
2026-06-13T11:05:52.9221271Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9221734Z               "line": 193
2026-06-13T11:05:52.9222066Z             },
2026-06-13T11:05:52.9222361Z             {
2026-06-13T11:05:52.9222739Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9223182Z               "line": 254
2026-06-13T11:05:52.9223516Z             },
2026-06-13T11:05:52.9223831Z             {
2026-06-13T11:05:52.9224206Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9224652Z               "line": 295
2026-06-13T11:05:52.9225005Z             },
2026-06-13T11:05:52.9225330Z             {
2026-06-13T11:05:52.9225702Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9226131Z               "line": 307
2026-06-13T11:05:52.9226473Z             },
2026-06-13T11:05:52.9226769Z             {
2026-06-13T11:05:52.9227041Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9227367Z               "line": 318
2026-06-13T11:05:52.9227615Z             },
2026-06-13T11:05:52.9227907Z             {
2026-06-13T11:05:52.9228287Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9228730Z               "line": 327
2026-06-13T11:05:52.9229161Z             },
2026-06-13T11:05:52.9229490Z             {
2026-06-13T11:05:52.9229864Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9230310Z               "line": 343
2026-06-13T11:05:52.9230639Z             },
2026-06-13T11:05:52.9230939Z             {
2026-06-13T11:05:52.9231302Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9231728Z               "line": 400
2026-06-13T11:05:52.9232062Z             },
2026-06-13T11:05:52.9232362Z             {
2026-06-13T11:05:52.9232732Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9233179Z               "line": 681
2026-06-13T11:05:52.9233532Z             },
2026-06-13T11:05:52.9233823Z             {
2026-06-13T11:05:52.9234185Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9234630Z               "line": 705
2026-06-13T11:05:52.9234981Z             },
2026-06-13T11:05:52.9235284Z             {
2026-06-13T11:05:52.9235651Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9236103Z               "line": 731
2026-06-13T11:05:52.9236466Z             },
2026-06-13T11:05:52.9236776Z             {
2026-06-13T11:05:52.9237135Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9237569Z               "line": 750
2026-06-13T11:05:52.9237914Z             },
2026-06-13T11:05:52.9238213Z             {
2026-06-13T11:05:52.9238576Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9239115Z               "line": 781
2026-06-13T11:05:52.9239458Z             },
2026-06-13T11:05:52.9247666Z             {
2026-06-13T11:05:52.9248208Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.9248673Z               "line": 309
2026-06-13T11:05:52.9249097Z             },
2026-06-13T11:05:52.9249408Z             {
2026-06-13T11:05:52.9249760Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T11:05:52.9250189Z               "line": 477
2026-06-13T11:05:52.9250799Z             },
2026-06-13T11:05:52.9251120Z             {
2026-06-13T11:05:52.9251501Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9251923Z               "line": 6261
2026-06-13T11:05:52.9252275Z             },
2026-06-13T11:05:52.9252576Z             {
2026-06-13T11:05:52.9252918Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9253496Z               "line": 7140
2026-06-13T11:05:52.9253838Z             }
2026-06-13T11:05:52.9254138Z           ]
2026-06-13T11:05:52.9254444Z         }
2026-06-13T11:05:52.9254739Z       }
2026-06-13T11:05:52.9255024Z     },
2026-06-13T11:05:52.9255320Z     {
2026-06-13T11:05:52.9255625Z       "id": "REQ-MANIFEST-3",
2026-06-13T11:05:52.9257001Z       "title": "Adapter strings — [strings] KV tree, dot-path get-string resolving through the profile leaf-replace overlay, set-string editing a local profile's [strings] only; data-only (nothing executes a string)",
2026-06-13T11:05:52.9258063Z       "requiredStages": [
2026-06-13T11:05:52.9258416Z         "doc",
2026-06-13T11:05:52.9258721Z         "impl",
2026-06-13T11:05:52.9259113Z         "unit"
2026-06-13T11:05:52.9259419Z       ],
2026-06-13T11:05:52.9259715Z       "stages": {
2026-06-13T11:05:52.9260025Z         "doc": {
2026-06-13T11:05:52.9260344Z           "complete": true,
2026-06-13T11:05:52.9260692Z           "evidence": [
2026-06-13T11:05:52.9261031Z             {
2026-06-13T11:05:52.9261363Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.9261728Z               "line": 81
2026-06-13T11:05:52.9262057Z             }
2026-06-13T11:05:52.9262357Z           ]
2026-06-13T11:05:52.9262662Z         },
2026-06-13T11:05:52.9262953Z         "impl": {
2026-06-13T11:05:52.9263273Z           "complete": true,
2026-06-13T11:05:52.9263645Z           "evidence": [
2026-06-13T11:05:52.9263883Z             {
2026-06-13T11:05:52.9264183Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9264498Z               "line": 76
2026-06-13T11:05:52.9264741Z             },
2026-06-13T11:05:52.9264970Z             {
2026-06-13T11:05:52.9265236Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9265541Z               "line": 101
2026-06-13T11:05:52.9265780Z             },
2026-06-13T11:05:52.9265996Z             {
2026-06-13T11:05:52.9266258Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9266556Z               "line": 114
2026-06-13T11:05:52.9266793Z             },
2026-06-13T11:05:52.9267003Z             {
2026-06-13T11:05:52.9267265Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9267571Z               "line": 376
2026-06-13T11:05:52.9267803Z             },
2026-06-13T11:05:52.9268018Z             {
2026-06-13T11:05:52.9268280Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9268586Z               "line": 392
2026-06-13T11:05:52.9268820Z             },
2026-06-13T11:05:52.9269144Z             {
2026-06-13T11:05:52.9269394Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9269683Z               "line": 4600
2026-06-13T11:05:52.9269918Z             },
2026-06-13T11:05:52.9270132Z             {
2026-06-13T11:05:52.9270369Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9270656Z               "line": 4622
2026-06-13T11:05:52.9270890Z             }
2026-06-13T11:05:52.9271110Z           ]
2026-06-13T11:05:52.9271324Z         },
2026-06-13T11:05:52.9271538Z         "int": {
2026-06-13T11:05:52.9271773Z           "complete": false,
2026-06-13T11:05:52.9272024Z           "evidence": []
2026-06-13T11:05:52.9272264Z         },
2026-06-13T11:05:52.9272480Z         "unit": {
2026-06-13T11:05:52.9272714Z           "complete": true,
2026-06-13T11:05:52.9272965Z           "evidence": [
2026-06-13T11:05:52.9273199Z             {
2026-06-13T11:05:52.9273461Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9273776Z               "line": 353
2026-06-13T11:05:52.9274016Z             },
2026-06-13T11:05:52.9274505Z             {
2026-06-13T11:05:52.9274857Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-13T11:05:52.9275283Z               "line": 385
2026-06-13T11:05:52.9275593Z             },
2026-06-13T11:05:52.9275898Z             {
2026-06-13T11:05:52.9276260Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-13T11:05:52.9276847Z               "line": 805
2026-06-13T11:05:52.9277164Z             },
2026-06-13T11:05:52.9277448Z             {
2026-06-13T11:05:52.9277777Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9278192Z               "line": 6316
2026-06-13T11:05:52.9278521Z             }
2026-06-13T11:05:52.9278817Z           ]
2026-06-13T11:05:52.9279203Z         }
2026-06-13T11:05:52.9279494Z       }
2026-06-13T11:05:52.9279785Z     },
2026-06-13T11:05:52.9280065Z     {
2026-06-13T11:05:52.9280368Z       "id": "REQ-MANIFEST-4",
2026-06-13T11:05:52.9281703Z       "title": "Keyword hints — [[hints]] {keywords (literal/regex), text}; spt api hint --session emits at most one matched hint per message, once per session (seen-set), declaration-order first match; profiles overlay [[hints]] by leaf-replace",
2026-06-13T11:05:52.9282872Z       "requiredStages": [
2026-06-13T11:05:52.9283210Z         "doc",
2026-06-13T11:05:52.9283516Z         "impl",
2026-06-13T11:05:52.9283816Z         "unit"
2026-06-13T11:05:52.9284121Z       ],
2026-06-13T11:05:52.9284417Z       "stages": {
2026-06-13T11:05:52.9284732Z         "doc": {
2026-06-13T11:05:52.9285061Z           "complete": true,
2026-06-13T11:05:52.9285403Z           "evidence": [
2026-06-13T11:05:52.9285727Z             {
2026-06-13T11:05:52.9286047Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.9286429Z               "line": 86
2026-06-13T11:05:52.9286671Z             }
2026-06-13T11:05:52.9286886Z           ]
2026-06-13T11:05:52.9287097Z         },
2026-06-13T11:05:52.9287402Z         "impl": {
2026-06-13T11:05:52.9287734Z           "complete": true,
2026-06-13T11:05:52.9288085Z           "evidence": [
2026-06-13T11:05:52.9288423Z             {
2026-06-13T11:05:52.9288637Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9288800Z               "line": 84
2026-06-13T11:05:52.9289095Z             },
2026-06-13T11:05:52.9289248Z             {
2026-06-13T11:05:52.9289443Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9289567Z               "line": 148
2026-06-13T11:05:52.9289678Z             },
2026-06-13T11:05:52.9289786Z             {
2026-06-13T11:05:52.9289940Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.9290054Z               "line": 83
2026-06-13T11:05:52.9290159Z             },
2026-06-13T11:05:52.9290274Z             {
2026-06-13T11:05:52.9290425Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9290548Z               "line": 437
2026-06-13T11:05:52.9290663Z             },
2026-06-13T11:05:52.9290770Z             {
2026-06-13T11:05:52.9290923Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9291047Z               "line": 462
2026-06-13T11:05:52.9291161Z             }
2026-06-13T11:05:52.9291258Z           ]
2026-06-13T11:05:52.9291381Z         },
2026-06-13T11:05:52.9291480Z         "int": {
2026-06-13T11:05:52.9291605Z           "complete": false,
2026-06-13T11:05:52.9291724Z           "evidence": []
2026-06-13T11:05:52.9291819Z         },
2026-06-13T11:05:52.9291944Z         "unit": {
2026-06-13T11:05:52.9292067Z           "complete": true,
2026-06-13T11:05:52.9292187Z           "evidence": [
2026-06-13T11:05:52.9292296Z             {
2026-06-13T11:05:52.9292448Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9292564Z               "line": 1003
2026-06-13T11:05:52.9292673Z             },
2026-06-13T11:05:52.9292778Z             {
2026-06-13T11:05:52.9292926Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9293043Z               "line": 1036
2026-06-13T11:05:52.9293153Z             },
2026-06-13T11:05:52.9293408Z             {
2026-06-13T11:05:52.9293557Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9293676Z               "line": 739
2026-06-13T11:05:52.9293790Z             }
2026-06-13T11:05:52.9293886Z           ]
2026-06-13T11:05:52.9293995Z         }
2026-06-13T11:05:52.9294100Z       }
2026-06-13T11:05:52.9294314Z     },
2026-06-13T11:05:52.9294420Z     {
2026-06-13T11:05:52.9294544Z       "id": "REQ-MESH-1",
2026-06-13T11:05:52.9296713Z       "title": "Membership proof (seed-proof): symmetric current-epoch seed-knowledge replaces is_trusted at EVERY inbound gate (registry apply, WAN receive, sync, notif, connection accept). MK = HKDF(seed, domain ‖ subnet_id ‖ seed_epoch); mutual channel-bound challenge-response at connect (transcript binds both handshake-proven node pubkeys, both nonces, subnet_id, seed_epoch, role); verified once per connection, cached on the broker ConnEntry, kept warm via QUIC keep-alive so re-proof is restart/partition/rotation-only. Exact-epoch match (re-seed is the sole N-1 exception). SECURITY INVARIANTS: channel-bound (no cross-connection replay), mutual, accepts a member it never paired (the mesh property).",
2026-06-13T11:05:52.9296846Z       "requiredStages": [
2026-06-13T11:05:52.9296955Z         "impl",
2026-06-13T11:05:52.9297075Z         "unit",
2026-06-13T11:05:52.9297180Z         "int"
2026-06-13T11:05:52.9297294Z       ],
2026-06-13T11:05:52.9297404Z       "stages": {
2026-06-13T11:05:52.9297513Z         "doc": {
2026-06-13T11:05:52.9297629Z           "complete": false,
2026-06-13T11:05:52.9297747Z           "evidence": []
2026-06-13T11:05:52.9297851Z         },
2026-06-13T11:05:52.9297962Z         "impl": {
2026-06-13T11:05:52.9298080Z           "complete": true,
2026-06-13T11:05:52.9298194Z           "evidence": [
2026-06-13T11:05:52.9298313Z             {
2026-06-13T11:05:52.9298458Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.9298573Z               "line": 680
2026-06-13T11:05:52.9298693Z             },
2026-06-13T11:05:52.9298792Z             {
2026-06-13T11:05:52.9299055Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9299169Z               "line": 38
2026-06-13T11:05:52.9299289Z             },
2026-06-13T11:05:52.9299403Z             {
2026-06-13T11:05:52.9299556Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9299684Z               "line": 161
2026-06-13T11:05:52.9299793Z             },
2026-06-13T11:05:52.9299899Z             {
2026-06-13T11:05:52.9300042Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9300166Z               "line": 206
2026-06-13T11:05:52.9300281Z             },
2026-06-13T11:05:52.9300385Z             {
2026-06-13T11:05:52.9300544Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9300661Z               "line": 57
2026-06-13T11:05:52.9300776Z             },
2026-06-13T11:05:52.9300892Z             {
2026-06-13T11:05:52.9301061Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9301180Z               "line": 24
2026-06-13T11:05:52.9301283Z             },
2026-06-13T11:05:52.9301406Z             {
2026-06-13T11:05:52.9301574Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9301697Z               "line": 142
2026-06-13T11:05:52.9301823Z             },
2026-06-13T11:05:52.9301923Z             {
2026-06-13T11:05:52.9302084Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9302203Z               "line": 162
2026-06-13T11:05:52.9302317Z             }
2026-06-13T11:05:52.9302418Z           ]
2026-06-13T11:05:52.9302537Z         },
2026-06-13T11:05:52.9302656Z         "int": {
2026-06-13T11:05:52.9302772Z           "complete": true,
2026-06-13T11:05:52.9302894Z           "evidence": [
2026-06-13T11:05:52.9303004Z             {
2026-06-13T11:05:52.9303171Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-13T11:05:52.9303401Z               "line": 67
2026-06-13T11:05:52.9303524Z             },
2026-06-13T11:05:52.9303637Z             {
2026-06-13T11:05:52.9303799Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-13T11:05:52.9303921Z               "line": 93
2026-06-13T11:05:52.9304021Z             },
2026-06-13T11:05:52.9304132Z             {
2026-06-13T11:05:52.9304422Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-13T11:05:52.9304545Z               "line": 117
2026-06-13T11:05:52.9304655Z             },
2026-06-13T11:05:52.9304756Z             {
2026-06-13T11:05:52.9304922Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-13T11:05:52.9305037Z               "line": 134
2026-06-13T11:05:52.9305161Z             }
2026-06-13T11:05:52.9305261Z           ]
2026-06-13T11:05:52.9305367Z         },
2026-06-13T11:05:52.9305480Z         "unit": {
2026-06-13T11:05:52.9305600Z           "complete": true,
2026-06-13T11:05:52.9305714Z           "evidence": [
2026-06-13T11:05:52.9305824Z             {
2026-06-13T11:05:52.9305987Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9306100Z               "line": 427
2026-06-13T11:05:52.9306215Z             },
2026-06-13T11:05:52.9306325Z             {
2026-06-13T11:05:52.9306485Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9306614Z               "line": 376
2026-06-13T11:05:52.9306720Z             },
2026-06-13T11:05:52.9306833Z             {
2026-06-13T11:05:52.9306997Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9307124Z               "line": 412
2026-06-13T11:05:52.9307240Z             },
2026-06-13T11:05:52.9307349Z             {
2026-06-13T11:05:52.9307511Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9307625Z               "line": 427
2026-06-13T11:05:52.9307744Z             },
2026-06-13T11:05:52.9307859Z             {
2026-06-13T11:05:52.9308016Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9308140Z               "line": 438
2026-06-13T11:05:52.9308246Z             },
2026-06-13T11:05:52.9308363Z             {
2026-06-13T11:05:52.9308518Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9308640Z               "line": 449
2026-06-13T11:05:52.9308759Z             },
2026-06-13T11:05:52.9308873Z             {
2026-06-13T11:05:52.9309157Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9309273Z               "line": 460
2026-06-13T11:05:52.9309390Z             },
2026-06-13T11:05:52.9309500Z             {
2026-06-13T11:05:52.9309662Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9309777Z               "line": 496
2026-06-13T11:05:52.9309882Z             },
2026-06-13T11:05:52.9310000Z             {
2026-06-13T11:05:52.9310145Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9310273Z               "line": 519
2026-06-13T11:05:52.9310382Z             },
2026-06-13T11:05:52.9310498Z             {
2026-06-13T11:05:52.9310663Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9310774Z               "line": 546
2026-06-13T11:05:52.9310892Z             }
2026-06-13T11:05:52.9311007Z           ]
2026-06-13T11:05:52.9311127Z         }
2026-06-13T11:05:52.9311235Z       }
2026-06-13T11:05:52.9311351Z     },
2026-06-13T11:05:52.9311466Z     {
2026-06-13T11:05:52.9311588Z       "id": "REQ-MESH-2",
2026-06-13T11:05:52.9314264Z       "title": "Member roster: node-level union-merge grow-set (per member: pubkey, label, machine_id, last-known address, last-seen — NOT the seed), the discovery directory the mesh dials by. Seeded IN FULL at pairing (seed-holder hands joiner the whole current roster, incl. offline members — folds in deferred pairing-time hostname capture + post-join address seeding); each node authors its own entry stamped with its lease_epoch, merged strictly-greater-wins (the node_label lease); exchanged only over seed-proof'd member connections; forgery-inert (a fake entry names a pubkey that still can't seed-proof). Removal needs a TOMBSTONE — a per-pubkey revoked marker that propagates, dominates the entry, gates admission (seed-proof ∧ ¬tombstoned), and prevents reinsert; cleared by a completed re-pair of that pubkey. Persists through silence (offline member keeps its entry).",
2026-06-13T11:05:52.9314600Z       "requiredStages": [
2026-06-13T11:05:52.9314716Z         "impl",
2026-06-13T11:05:52.9314834Z         "unit",
2026-06-13T11:05:52.9314945Z         "int"
2026-06-13T11:05:52.9315059Z       ],
2026-06-13T11:05:52.9315177Z       "stages": {
2026-06-13T11:05:52.9315287Z         "doc": {
2026-06-13T11:05:52.9315416Z           "complete": false,
2026-06-13T11:05:52.9315531Z           "evidence": []
2026-06-13T11:05:52.9315645Z         },
2026-06-13T11:05:52.9315754Z         "impl": {
2026-06-13T11:05:52.9315879Z           "complete": true,
2026-06-13T11:05:52.9316007Z           "evidence": [
2026-06-13T11:05:52.9316117Z             {
2026-06-13T11:05:52.9316274Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.9316393Z               "line": 569
2026-06-13T11:05:52.9316509Z             },
2026-06-13T11:05:52.9316617Z             {
2026-06-13T11:05:52.9316780Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9316904Z               "line": 118
2026-06-13T11:05:52.9317012Z             },
2026-06-13T11:05:52.9317126Z             {
2026-06-13T11:05:52.9317275Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9317402Z               "line": 347
2026-06-13T11:05:52.9317508Z             },
2026-06-13T11:05:52.9317623Z             {
2026-06-13T11:05:52.9317780Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9317890Z               "line": 389
2026-06-13T11:05:52.9318009Z             },
2026-06-13T11:05:52.9318114Z             {
2026-06-13T11:05:52.9318271Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9318385Z               "line": 403
2026-06-13T11:05:52.9318500Z             },
2026-06-13T11:05:52.9318615Z             {
2026-06-13T11:05:52.9318764Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9318881Z               "line": 492
2026-06-13T11:05:52.9319053Z             },
2026-06-13T11:05:52.9319173Z             {
2026-06-13T11:05:52.9319324Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9319443Z               "line": 507
2026-06-13T11:05:52.9319555Z             },
2026-06-13T11:05:52.9319664Z             {
2026-06-13T11:05:52.9319818Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9319931Z               "line": 534
2026-06-13T11:05:52.9320047Z             },
2026-06-13T11:05:52.9320151Z             {
2026-06-13T11:05:52.9320313Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9320443Z               "line": 207
2026-06-13T11:05:52.9320551Z             },
2026-06-13T11:05:52.9320657Z             {
2026-06-13T11:05:52.9320809Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9320933Z               "line": 755
2026-06-13T11:05:52.9321048Z             },
2026-06-13T11:05:52.9321153Z             {
2026-06-13T11:05:52.9321316Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9321434Z               "line": 816
2026-06-13T11:05:52.9321552Z             },
2026-06-13T11:05:52.9321659Z             {
2026-06-13T11:05:52.9321815Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9321935Z               "line": 869
2026-06-13T11:05:52.9322045Z             },
2026-06-13T11:05:52.9322162Z             {
2026-06-13T11:05:52.9322310Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9322437Z               "line": 891
2026-06-13T11:05:52.9322545Z             },
2026-06-13T11:05:52.9322775Z             {
2026-06-13T11:05:52.9322928Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.9323043Z               "line": 122
2026-06-13T11:05:52.9323161Z             },
2026-06-13T11:05:52.9323272Z             {
2026-06-13T11:05:52.9323428Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9323643Z               "line": 44
2026-06-13T11:05:52.9323747Z             },
2026-06-13T11:05:52.9323868Z             {
2026-06-13T11:05:52.9324010Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9324134Z               "line": 184
2026-06-13T11:05:52.9324240Z             },
2026-06-13T11:05:52.9324357Z             {
2026-06-13T11:05:52.9324502Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9324625Z               "line": 211
2026-06-13T11:05:52.9324729Z             },
2026-06-13T11:05:52.9324834Z             {
2026-06-13T11:05:52.9324975Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9325093Z               "line": 251
2026-06-13T11:05:52.9325204Z             },
2026-06-13T11:05:52.9325304Z             {
2026-06-13T11:05:52.9325447Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9325566Z               "line": 275
2026-06-13T11:05:52.9325665Z             },
2026-06-13T11:05:52.9325781Z             {
2026-06-13T11:05:52.9325924Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9326047Z               "line": 289
2026-06-13T11:05:52.9326158Z             },
2026-06-13T11:05:52.9326267Z             {
2026-06-13T11:05:52.9326420Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9326529Z               "line": 300
2026-06-13T11:05:52.9326653Z             },
2026-06-13T11:05:52.9326759Z             {
2026-06-13T11:05:52.9326910Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9327030Z               "line": 313
2026-06-13T11:05:52.9327136Z             }
2026-06-13T11:05:52.9327254Z           ]
2026-06-13T11:05:52.9327360Z         },
2026-06-13T11:05:52.9327469Z         "int": {
2026-06-13T11:05:52.9327582Z           "complete": true,
2026-06-13T11:05:52.9327701Z           "evidence": [
2026-06-13T11:05:52.9327816Z             {
2026-06-13T11:05:52.9327972Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-13T11:05:52.9328097Z               "line": 116
2026-06-13T11:05:52.9328206Z             },
2026-06-13T11:05:52.9328306Z             {
2026-06-13T11:05:52.9328469Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-13T11:05:52.9328592Z               "line": 181
2026-06-13T11:05:52.9328694Z             }
2026-06-13T11:05:52.9328793Z           ]
2026-06-13T11:05:52.9328912Z         },
2026-06-13T11:05:52.9329117Z         "unit": {
2026-06-13T11:05:52.9329241Z           "complete": true,
2026-06-13T11:05:52.9329356Z           "evidence": [
2026-06-13T11:05:52.9329470Z             {
2026-06-13T11:05:52.9329623Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9329742Z               "line": 999
2026-06-13T11:05:52.9329860Z             },
2026-06-13T11:05:52.9329965Z             {
2026-06-13T11:05:52.9330120Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9330239Z               "line": 1016
2026-06-13T11:05:52.9330345Z             },
2026-06-13T11:05:52.9330459Z             {
2026-06-13T11:05:52.9330597Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9330721Z               "line": 1024
2026-06-13T11:05:52.9330820Z             },
2026-06-13T11:05:52.9330936Z             {
2026-06-13T11:05:52.9331083Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9331207Z               "line": 1048
2026-06-13T11:05:52.9331322Z             },
2026-06-13T11:05:52.9331427Z             {
2026-06-13T11:05:52.9331594Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9331713Z               "line": 1499
2026-06-13T11:05:52.9331923Z             },
2026-06-13T11:05:52.9332027Z             {
2026-06-13T11:05:52.9332171Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9332295Z               "line": 347
2026-06-13T11:05:52.9332404Z             },
2026-06-13T11:05:52.9332520Z             {
2026-06-13T11:05:52.9332656Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9332865Z               "line": 370
2026-06-13T11:05:52.9332973Z             },
2026-06-13T11:05:52.9333087Z             {
2026-06-13T11:05:52.9333236Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9333344Z               "line": 407
2026-06-13T11:05:52.9333459Z             },
2026-06-13T11:05:52.9333569Z             {
2026-06-13T11:05:52.9333721Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9333837Z               "line": 431
2026-06-13T11:05:52.9333956Z             },
2026-06-13T11:05:52.9334069Z             {
2026-06-13T11:05:52.9334204Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9334312Z               "line": 483
2026-06-13T11:05:52.9334428Z             },
2026-06-13T11:05:52.9334542Z             {
2026-06-13T11:05:52.9334680Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9334814Z               "line": 499
2026-06-13T11:05:52.9334952Z             },
2026-06-13T11:05:52.9335063Z             {
2026-06-13T11:05:52.9335209Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9335322Z               "line": 514
2026-06-13T11:05:52.9335442Z             },
2026-06-13T11:05:52.9335554Z             {
2026-06-13T11:05:52.9335697Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9335822Z               "line": 531
2026-06-13T11:05:52.9335930Z             }
2026-06-13T11:05:52.9336045Z           ]
2026-06-13T11:05:52.9336155Z         }
2026-06-13T11:05:52.9336269Z       }
2026-06-13T11:05:52.9336384Z     },
2026-06-13T11:05:52.9336489Z     {
2026-06-13T11:05:52.9336617Z       "id": "REQ-MESH-3",
2026-06-13T11:05:52.9338414Z       "title": "Mesh row fan-out: registry rows stay OWN-AUTHORED; the only change is the push target widens from directly-paired peers to ALL roster members (a wider DIRECT fan-out, never a third-party relay). Every row/message still arrives from its author over a handshake → KNOWN-HAZARDS 7.5 (origin = handshake node) and 4.10 (eviction lease: any future update comes from that node itself, alive) PRESERVED VERBATIM. Closes the staggered A→B→C repro: C (roster-seeded with A at pairing) initiates to A, seed-proof admits C unpaired, A learns C, both push directly.",
2026-06-13T11:05:52.9338552Z       "requiredStages": [
2026-06-13T11:05:52.9338672Z         "impl",
2026-06-13T11:05:52.9338780Z         "unit",
2026-06-13T11:05:52.9338900Z         "int"
2026-06-13T11:05:52.9339077Z       ],
2026-06-13T11:05:52.9339206Z       "stages": {
2026-06-13T11:05:52.9339315Z         "doc": {
2026-06-13T11:05:52.9339443Z           "complete": false,
2026-06-13T11:05:52.9339569Z           "evidence": []
2026-06-13T11:05:52.9339677Z         },
2026-06-13T11:05:52.9339792Z         "impl": {
2026-06-13T11:05:52.9339912Z           "complete": true,
2026-06-13T11:05:52.9340030Z           "evidence": [
2026-06-13T11:05:52.9340140Z             {
2026-06-13T11:05:52.9340302Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.9340429Z               "line": 641
2026-06-13T11:05:52.9340535Z             }
2026-06-13T11:05:52.9340647Z           ]
2026-06-13T11:05:52.9340751Z         },
2026-06-13T11:05:52.9340871Z         "int": {
2026-06-13T11:05:52.9340985Z           "complete": true,
2026-06-13T11:05:52.9341109Z           "evidence": [
2026-06-13T11:05:52.9341224Z             {
2026-06-13T11:05:52.9341376Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-13T11:05:52.9341496Z               "line": 373
2026-06-13T11:05:52.9341601Z             },
2026-06-13T11:05:52.9341719Z             {
2026-06-13T11:05:52.9341863Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-13T11:05:52.9342126Z               "line": 436
2026-06-13T11:05:52.9342244Z             }
2026-06-13T11:05:52.9342349Z           ]
2026-06-13T11:05:52.9342460Z         },
2026-06-13T11:05:52.9342573Z         "unit": {
2026-06-13T11:05:52.9342702Z           "complete": true,
2026-06-13T11:05:52.9342907Z           "evidence": [
2026-06-13T11:05:52.9343022Z             {
2026-06-13T11:05:52.9343179Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.9343297Z               "line": 910
2026-06-13T11:05:52.9343412Z             }
2026-06-13T11:05:52.9343519Z           ]
2026-06-13T11:05:52.9343632Z         }
2026-06-13T11:05:52.9343743Z       }
2026-06-13T11:05:52.9343858Z     },
2026-06-13T11:05:52.9343971Z     {
2026-06-13T11:05:52.9344096Z       "id": "REQ-MESH-4",
2026-06-13T11:05:52.9346372Z       "title": "Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke <node>...` (list, elevation-gated, revoke-only) writes roster tombstones immediately, then schedules ONE seed rotation (re-mint seed, bump seed_epoch, push new seed CONFIDENTIALLY over member-auth'd TLS connections — never in roster/registry gossip — force-drop revokees) at the close of a coalescing window (default 1h); further revokes in the window join the same rotation (one epoch bump). `--force-rotate-seed` rotates immediately (compromised-node path). RE-SEED GRACE: a node proving the immediately-prior epoch (N-1) AND still on the roster gets a re-seed-only restricted connection (auto-heals a benign offliner); revoked/off-roster denied; ≥2 stale → re-pair.",
2026-06-13T11:05:52.9346571Z       "requiredStages": [
2026-06-13T11:05:52.9346691Z         "impl",
2026-06-13T11:05:52.9346858Z         "unit",
2026-06-13T11:05:52.9347010Z         "int"
2026-06-13T11:05:52.9347158Z       ],
2026-06-13T11:05:52.9347311Z       "stages": {
2026-06-13T11:05:52.9347448Z         "doc": {
2026-06-13T11:05:52.9347617Z           "complete": false,
2026-06-13T11:05:52.9347745Z           "evidence": []
2026-06-13T11:05:52.9347917Z         },
2026-06-13T11:05:52.9348045Z         "impl": {
2026-06-13T11:05:52.9348208Z           "complete": true,
2026-06-13T11:05:52.9348374Z           "evidence": [
2026-06-13T11:05:52.9348495Z             {
2026-06-13T11:05:52.9348707Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T11:05:52.9348831Z               "line": 33
2026-06-13T11:05:52.9349059Z             },
2026-06-13T11:05:52.9349194Z             {
2026-06-13T11:05:52.9349407Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9349560Z               "line": 68
2026-06-13T11:05:52.9349684Z             },
2026-06-13T11:05:52.9356764Z             {
2026-06-13T11:05:52.9356989Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9357122Z               "line": 111
2026-06-13T11:05:52.9357237Z             },
2026-06-13T11:05:52.9357374Z             {
2026-06-13T11:05:52.9357557Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9357675Z               "line": 462
2026-06-13T11:05:52.9357791Z             },
2026-06-13T11:05:52.9357900Z             {
2026-06-13T11:05:52.9358066Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9358177Z               "line": 711
2026-06-13T11:05:52.9358291Z             },
2026-06-13T11:05:52.9358400Z             {
2026-06-13T11:05:52.9358562Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9358677Z               "line": 725
2026-06-13T11:05:52.9358783Z             },
2026-06-13T11:05:52.9358896Z             {
2026-06-13T11:05:52.9359117Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.9359234Z               "line": 132
2026-06-13T11:05:52.9359352Z             },
2026-06-13T11:05:52.9359458Z             {
2026-06-13T11:05:52.9359619Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T11:05:52.9359729Z               "line": 26
2026-06-13T11:05:52.9359840Z             },
2026-06-13T11:05:52.9360093Z             {
2026-06-13T11:05:52.9360249Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T11:05:52.9360364Z               "line": 97
2026-06-13T11:05:52.9360473Z             },
2026-06-13T11:05:52.9360587Z             {
2026-06-13T11:05:52.9360732Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T11:05:52.9360950Z               "line": 119
2026-06-13T11:05:52.9361052Z             },
2026-06-13T11:05:52.9361164Z             {
2026-06-13T11:05:52.9361313Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.9361422Z               "line": 82
2026-06-13T11:05:52.9361536Z             },
2026-06-13T11:05:52.9361635Z             {
2026-06-13T11:05:52.9361786Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.9361895Z               "line": 111
2026-06-13T11:05:52.9362001Z             },
2026-06-13T11:05:52.9362105Z             {
2026-06-13T11:05:52.9362239Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.9362364Z               "line": 232
2026-06-13T11:05:52.9362467Z             },
2026-06-13T11:05:52.9362582Z             {
2026-06-13T11:05:52.9362726Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.9362840Z               "line": 245
2026-06-13T11:05:52.9362946Z             },
2026-06-13T11:05:52.9363060Z             {
2026-06-13T11:05:52.9363192Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9363298Z               "line": 3785
2026-06-13T11:05:52.9363407Z             }
2026-06-13T11:05:52.9363517Z           ]
2026-06-13T11:05:52.9363627Z         },
2026-06-13T11:05:52.9363736Z         "int": {
2026-06-13T11:05:52.9363852Z           "complete": true,
2026-06-13T11:05:52.9363979Z           "evidence": [
2026-06-13T11:05:52.9364094Z             {
2026-06-13T11:05:52.9364243Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-13T11:05:52.9364365Z               "line": 98
2026-06-13T11:05:52.9364464Z             },
2026-06-13T11:05:52.9364579Z             {
2026-06-13T11:05:52.9364729Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-13T11:05:52.9364854Z               "line": 140
2026-06-13T11:05:52.9364968Z             }
2026-06-13T11:05:52.9365077Z           ]
2026-06-13T11:05:52.9365192Z         },
2026-06-13T11:05:52.9365307Z         "unit": {
2026-06-13T11:05:52.9365435Z           "complete": true,
2026-06-13T11:05:52.9365545Z           "evidence": [
2026-06-13T11:05:52.9365659Z             {
2026-06-13T11:05:52.9365822Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T11:05:52.9365950Z               "line": 178
2026-06-13T11:05:52.9366060Z             },
2026-06-13T11:05:52.9366165Z             {
2026-06-13T11:05:52.9366336Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T11:05:52.9366452Z               "line": 242
2026-06-13T11:05:52.9366560Z             },
2026-06-13T11:05:52.9366661Z             {
2026-06-13T11:05:52.9366833Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9366960Z               "line": 1079
2026-06-13T11:05:52.9367065Z             },
2026-06-13T11:05:52.9367178Z             {
2026-06-13T11:05:52.9367324Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9367444Z               "line": 1109
2026-06-13T11:05:52.9367549Z             },
2026-06-13T11:05:52.9367663Z             {
2026-06-13T11:05:52.9367821Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-13T11:05:52.9367934Z               "line": 1129
2026-06-13T11:05:52.9368050Z             },
2026-06-13T11:05:52.9368150Z             {
2026-06-13T11:05:52.9368317Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-13T11:05:52.9368441Z               "line": 602
2026-06-13T11:05:52.9368555Z             },
2026-06-13T11:05:52.9368660Z             {
2026-06-13T11:05:52.9368808Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T11:05:52.9368922Z               "line": 148
2026-06-13T11:05:52.9369217Z             },
2026-06-13T11:05:52.9369333Z             {
2026-06-13T11:05:52.9369489Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T11:05:52.9369615Z               "line": 169
2026-06-13T11:05:52.9369729Z             },
2026-06-13T11:05:52.9369827Z             {
2026-06-13T11:05:52.9370081Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T11:05:52.9370194Z               "line": 181
2026-06-13T11:05:52.9370309Z             },
2026-06-13T11:05:52.9370415Z             {
2026-06-13T11:05:52.9370566Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-13T11:05:52.9370690Z               "line": 202
2026-06-13T11:05:52.9370790Z             },
2026-06-13T11:05:52.9370895Z             {
2026-06-13T11:05:52.9371043Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.9371162Z               "line": 375
2026-06-13T11:05:52.9371273Z             },
2026-06-13T11:05:52.9371381Z             {
2026-06-13T11:05:52.9371535Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.9371640Z               "line": 407
2026-06-13T11:05:52.9371749Z             },
2026-06-13T11:05:52.9371849Z             {
2026-06-13T11:05:52.9371992Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9372115Z               "line": 7634
2026-06-13T11:05:52.9372220Z             }
2026-06-13T11:05:52.9372332Z           ]
2026-06-13T11:05:52.9372437Z         }
2026-06-13T11:05:52.9372551Z       }
2026-06-13T11:05:52.9372652Z     },
2026-06-13T11:05:52.9372765Z     {
2026-06-13T11:05:52.9372881Z       "id": "REQ-MESH-5",
2026-06-13T11:05:52.9374344Z       "title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migration — expendable test fleet, re-pairs fresh under the new model, user decision 2026-06-08). Warn-on-change DEMOTED from a gate to an awareness notice anchored on machine_id (not label): 'machine M, last seen as K1, now presents K2' — fires the same event as the REQ-SUBNET-7 re-pair overwrite. The TrustStore/peers.json code and its call sites are removed, not left dead.",
2026-06-13T11:05:52.9374488Z       "requiredStages": [
2026-06-13T11:05:52.9374591Z         "impl",
2026-06-13T11:05:52.9374712Z         "unit"
2026-06-13T11:05:52.9374831Z       ],
2026-06-13T11:05:52.9374934Z       "stages": {
2026-06-13T11:05:52.9375063Z         "doc": {
2026-06-13T11:05:52.9375186Z           "complete": false,
2026-06-13T11:05:52.9375313Z           "evidence": []
2026-06-13T11:05:52.9375419Z         },
2026-06-13T11:05:52.9375533Z         "impl": {
2026-06-13T11:05:52.9375661Z           "complete": true,
2026-06-13T11:05:52.9375776Z           "evidence": [
2026-06-13T11:05:52.9375890Z             {
2026-06-13T11:05:52.9376054Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.9376182Z               "line": 61
2026-06-13T11:05:52.9376290Z             },
2026-06-13T11:05:52.9376406Z             {
2026-06-13T11:05:52.9376577Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.9376693Z               "line": 109
2026-06-13T11:05:52.9376815Z             },
2026-06-13T11:05:52.9376929Z             {
2026-06-13T11:05:52.9377092Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9377211Z               "line": 104
2026-06-13T11:05:52.9377332Z             },
2026-06-13T11:05:52.9377459Z             {
2026-06-13T11:05:52.9377615Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:52.9377748Z               "line": 105
2026-06-13T11:05:52.9377860Z             },
2026-06-13T11:05:52.9377976Z             {
2026-06-13T11:05:52.9378143Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9378266Z               "line": 85
2026-06-13T11:05:52.9378386Z             },
2026-06-13T11:05:52.9378500Z             {
2026-06-13T11:05:52.9378672Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9378791Z               "line": 250
2026-06-13T11:05:52.9379110Z             },
2026-06-13T11:05:52.9379230Z             {
2026-06-13T11:05:52.9379387Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9379521Z               "line": 314
2026-06-13T11:05:52.9379631Z             },
2026-06-13T11:05:52.9379745Z             {
2026-06-13T11:05:52.9380011Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9380141Z               "line": 715
2026-06-13T11:05:52.9380265Z             },
2026-06-13T11:05:52.9380373Z             {
2026-06-13T11:05:52.9380531Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.9380646Z               "line": 101
2026-06-13T11:05:52.9380768Z             },
2026-06-13T11:05:52.9380879Z             {
2026-06-13T11:05:52.9381040Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9381165Z               "line": 193
2026-06-13T11:05:52.9381274Z             }
2026-06-13T11:05:52.9381388Z           ]
2026-06-13T11:05:52.9381504Z         },
2026-06-13T11:05:52.9381617Z         "int": {
2026-06-13T11:05:52.9381736Z           "complete": false,
2026-06-13T11:05:52.9381861Z           "evidence": []
2026-06-13T11:05:52.9381976Z         },
2026-06-13T11:05:52.9382085Z         "unit": {
2026-06-13T11:05:52.9382214Z           "complete": true,
2026-06-13T11:05:52.9382332Z           "evidence": [
2026-06-13T11:05:52.9382448Z             {
2026-06-13T11:05:52.9382604Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9382732Z               "line": 957
2026-06-13T11:05:52.9382846Z             },
2026-06-13T11:05:52.9382954Z             {
2026-06-13T11:05:52.9383107Z               "path": "crates/spt-store/src/roster.rs",
2026-06-13T11:05:52.9383221Z               "line": 462
2026-06-13T11:05:52.9383335Z             }
2026-06-13T11:05:52.9383446Z           ]
2026-06-13T11:05:52.9383560Z         }
2026-06-13T11:05:52.9383673Z       }
2026-06-13T11:05:52.9383780Z     },
2026-06-13T11:05:52.9383898Z     {
2026-06-13T11:05:52.9384018Z       "id": "REQ-MESH-6",
2026-06-13T11:05:52.9385344Z       "title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNET-5) CONCURRENTLY — total wall-time bounded by the single-probe ceiling (~3s), never k×ceiling. The mesh makes a node see ALL members (many possibly offline), so a serial probe loop would be offline_count×3s. (Planning verifies the current REQ-SUBNET-5 probe loop's behavior and fixes it if serial.)",
2026-06-13T11:05:52.9385480Z       "requiredStages": [
2026-06-13T11:05:52.9385594Z         "impl",
2026-06-13T11:05:52.9385714Z         "unit"
2026-06-13T11:05:52.9385816Z       ],
2026-06-13T11:05:52.9385936Z       "stages": {
2026-06-13T11:05:52.9386046Z         "doc": {
2026-06-13T11:05:52.9386174Z           "complete": false,
2026-06-13T11:05:52.9386294Z           "evidence": []
2026-06-13T11:05:52.9386404Z         },
2026-06-13T11:05:52.9386517Z         "impl": {
2026-06-13T11:05:52.9386638Z           "complete": true,
2026-06-13T11:05:52.9386756Z           "evidence": [
2026-06-13T11:05:52.9386865Z             {
2026-06-13T11:05:52.9387008Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9387132Z               "line": 3308
2026-06-13T11:05:52.9387243Z             }
2026-06-13T11:05:52.9387351Z           ]
2026-06-13T11:05:52.9387461Z         },
2026-06-13T11:05:52.9387577Z         "int": {
2026-06-13T11:05:52.9387699Z           "complete": false,
2026-06-13T11:05:52.9387819Z           "evidence": []
2026-06-13T11:05:52.9387934Z         },
2026-06-13T11:05:52.9388043Z         "unit": {
2026-06-13T11:05:52.9388166Z           "complete": true,
2026-06-13T11:05:52.9388275Z           "evidence": [
2026-06-13T11:05:52.9388393Z             {
2026-06-13T11:05:52.9388516Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9388637Z               "line": 8164
2026-06-13T11:05:52.9388754Z             },
2026-06-13T11:05:52.9388865Z             {
2026-06-13T11:05:52.9389213Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9389332Z               "line": 8191
2026-06-13T11:05:52.9389432Z             },
2026-06-13T11:05:52.9389537Z             {
2026-06-13T11:05:52.9389675Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9389790Z               "line": 8215
2026-06-13T11:05:52.9389981Z             }
2026-06-13T11:05:52.9390095Z           ]
2026-06-13T11:05:52.9390205Z         }
2026-06-13T11:05:52.9390314Z       }
2026-06-13T11:05:52.9390420Z     },
2026-06-13T11:05:52.9390534Z     {
2026-06-13T11:05:52.9390663Z       "id": "REQ-MIGRATE-1",
2026-06-13T11:05:52.9390863Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-13T11:05:52.9390994Z       "requiredStages": [],
2026-06-13T11:05:52.9391110Z       "stages": {
2026-06-13T11:05:52.9391220Z         "doc": {
2026-06-13T11:05:52.9391328Z           "complete": false,
2026-06-13T11:05:52.9391454Z           "evidence": []
2026-06-13T11:05:52.9391563Z         },
2026-06-13T11:05:52.9391672Z         "impl": {
2026-06-13T11:05:52.9391797Z           "complete": false,
2026-06-13T11:05:52.9391910Z           "evidence": []
2026-06-13T11:05:52.9392020Z         },
2026-06-13T11:05:52.9392130Z         "int": {
2026-06-13T11:05:52.9392244Z           "complete": false,
2026-06-13T11:05:52.9392365Z           "evidence": []
2026-06-13T11:05:52.9392473Z         },
2026-06-13T11:05:52.9392587Z         "unit": {
2026-06-13T11:05:52.9392708Z           "complete": false,
2026-06-13T11:05:52.9392816Z           "evidence": []
2026-06-13T11:05:52.9392926Z         }
2026-06-13T11:05:52.9393032Z       }
2026-06-13T11:05:52.9393145Z     },
2026-06-13T11:05:52.9393254Z     {
2026-06-13T11:05:52.9393383Z       "id": "REQ-MSG-1",
2026-06-13T11:05:52.9393838Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-13T11:05:52.9393967Z       "requiredStages": [
2026-06-13T11:05:52.9394082Z         "impl",
2026-06-13T11:05:52.9394191Z         "unit",
2026-06-13T11:05:52.9394302Z         "int"
2026-06-13T11:05:52.9394411Z       ],
2026-06-13T11:05:52.9394520Z       "stages": {
2026-06-13T11:05:52.9394631Z         "doc": {
2026-06-13T11:05:52.9394759Z           "complete": false,
2026-06-13T11:05:52.9394873Z           "evidence": []
2026-06-13T11:05:52.9394988Z         },
2026-06-13T11:05:52.9395102Z         "impl": {
2026-06-13T11:05:52.9395217Z           "complete": true,
2026-06-13T11:05:52.9395345Z           "evidence": [
2026-06-13T11:05:52.9395454Z             {
2026-06-13T11:05:52.9395604Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.9395721Z               "line": 28
2026-06-13T11:05:52.9395832Z             },
2026-06-13T11:05:52.9395943Z             {
2026-06-13T11:05:52.9396088Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.9396207Z               "line": 94
2026-06-13T11:05:52.9396320Z             },
2026-06-13T11:05:52.9396443Z             {
2026-06-13T11:05:52.9396587Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.9396710Z               "line": 127
2026-06-13T11:05:52.9396830Z             },
2026-06-13T11:05:52.9396939Z             {
2026-06-13T11:05:52.9397087Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.9397207Z               "line": 149
2026-06-13T11:05:52.9397321Z             },
2026-06-13T11:05:52.9397430Z             {
2026-06-13T11:05:52.9397573Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.9397697Z               "line": 174
2026-06-13T11:05:52.9397846Z             },
2026-06-13T11:05:52.9397964Z             {
2026-06-13T11:05:52.9398113Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T11:05:52.9398231Z               "line": 18
2026-06-13T11:05:52.9398341Z             },
2026-06-13T11:05:52.9398457Z             {
2026-06-13T11:05:52.9398598Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T11:05:52.9398840Z               "line": 13
2026-06-13T11:05:52.9399110Z             },
2026-06-13T11:05:52.9399234Z             {
2026-06-13T11:05:52.9399396Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T11:05:52.9399516Z               "line": 61
2026-06-13T11:05:52.9399630Z             },
2026-06-13T11:05:52.9399750Z             {
2026-06-13T11:05:52.9399997Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-13T11:05:52.9400121Z               "line": 10
2026-06-13T11:05:52.9400226Z             }
2026-06-13T11:05:52.9400341Z           ]
2026-06-13T11:05:52.9400455Z         },
2026-06-13T11:05:52.9400559Z         "int": {
2026-06-13T11:05:52.9400709Z           "complete": true,
2026-06-13T11:05:52.9400826Z           "evidence": [
2026-06-13T11:05:52.9400946Z             {
2026-06-13T11:05:52.9401122Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-13T11:05:52.9401246Z               "line": 9
2026-06-13T11:05:52.9401371Z             },
2026-06-13T11:05:52.9401479Z             {
2026-06-13T11:05:52.9401651Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-13T11:05:52.9401770Z               "line": 70
2026-06-13T11:05:52.9401888Z             },
2026-06-13T11:05:52.9401999Z             {
2026-06-13T11:05:52.9402165Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-13T11:05:52.9402295Z               "line": 129
2026-06-13T11:05:52.9402409Z             }
2026-06-13T11:05:52.9402522Z           ]
2026-06-13T11:05:52.9402629Z         },
2026-06-13T11:05:52.9402747Z         "unit": {
2026-06-13T11:05:52.9402861Z           "complete": true,
2026-06-13T11:05:52.9402996Z           "evidence": [
2026-06-13T11:05:52.9403110Z             {
2026-06-13T11:05:52.9403259Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.9403381Z               "line": 203
2026-06-13T11:05:52.9403476Z             },
2026-06-13T11:05:52.9403597Z             {
2026-06-13T11:05:52.9403738Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.9403862Z               "line": 232
2026-06-13T11:05:52.9403971Z             },
2026-06-13T11:05:52.9404083Z             {
2026-06-13T11:05:52.9404222Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.9404337Z               "line": 277
2026-06-13T11:05:52.9404450Z             },
2026-06-13T11:05:52.9404556Z             {
2026-06-13T11:05:52.9404708Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.9404828Z               "line": 300
2026-06-13T11:05:52.9404942Z             },
2026-06-13T11:05:52.9405051Z             {
2026-06-13T11:05:52.9405195Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-13T11:05:52.9405319Z               "line": 324
2026-06-13T11:05:52.9405429Z             },
2026-06-13T11:05:52.9405539Z             {
2026-06-13T11:05:52.9405695Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T11:05:52.9405811Z               "line": 203
2026-06-13T11:05:52.9405929Z             },
2026-06-13T11:05:52.9406043Z             {
2026-06-13T11:05:52.9406197Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T11:05:52.9406311Z               "line": 236
2026-06-13T11:05:52.9406431Z             },
2026-06-13T11:05:52.9406549Z             {
2026-06-13T11:05:52.9406695Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T11:05:52.9406824Z               "line": 250
2026-06-13T11:05:52.9406932Z             },
2026-06-13T11:05:52.9407051Z             {
2026-06-13T11:05:52.9407185Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T11:05:52.9407303Z               "line": 262
2026-06-13T11:05:52.9407414Z             },
2026-06-13T11:05:52.9407562Z             {
2026-06-13T11:05:52.9407705Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T11:05:52.9407819Z               "line": 158
2026-06-13T11:05:52.9407928Z             },
2026-06-13T11:05:52.9408048Z             {
2026-06-13T11:05:52.9408181Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-13T11:05:52.9408430Z               "line": 241
2026-06-13T11:05:52.9408539Z             },
2026-06-13T11:05:52.9408654Z             {
2026-06-13T11:05:52.9408796Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-13T11:05:52.9408925Z               "line": 68
2026-06-13T11:05:52.9409143Z             },
2026-06-13T11:05:52.9409348Z             {
2026-06-13T11:05:52.9409494Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-13T11:05:52.9409603Z               "line": 77
2026-06-13T11:05:52.9409723Z             },
2026-06-13T11:05:52.9409837Z             {
2026-06-13T11:05:52.9409981Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-13T11:05:52.9410104Z               "line": 83
2026-06-13T11:05:52.9410209Z             },
2026-06-13T11:05:52.9410329Z             {
2026-06-13T11:05:52.9410461Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-13T11:05:52.9410591Z               "line": 102
2026-06-13T11:05:52.9410695Z             }
2026-06-13T11:05:52.9410814Z           ]
2026-06-13T11:05:52.9410935Z         }
2026-06-13T11:05:52.9411034Z       }
2026-06-13T11:05:52.9411143Z     },
2026-06-13T11:05:52.9411250Z     {
2026-06-13T11:05:52.9411372Z       "id": "REQ-MSG-2",
2026-06-13T11:05:52.9411677Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-13T11:05:52.9411802Z       "requiredStages": [
2026-06-13T11:05:52.9411908Z         "impl",
2026-06-13T11:05:52.9412015Z         "unit"
2026-06-13T11:05:52.9412129Z       ],
2026-06-13T11:05:52.9412235Z       "stages": {
2026-06-13T11:05:52.9412349Z         "doc": {
2026-06-13T11:05:52.9412468Z           "complete": false,
2026-06-13T11:05:52.9412588Z           "evidence": []
2026-06-13T11:05:52.9412697Z         },
2026-06-13T11:05:52.9412797Z         "impl": {
2026-06-13T11:05:52.9412917Z           "complete": true,
2026-06-13T11:05:52.9413026Z           "evidence": [
2026-06-13T11:05:52.9413136Z             {
2026-06-13T11:05:52.9413265Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9413388Z               "line": 11
2026-06-13T11:05:52.9413504Z             },
2026-06-13T11:05:52.9413608Z             {
2026-06-13T11:05:52.9413746Z               "path": "crates/spt/src/main.rs",
2026-06-13T11:05:52.9413847Z               "line": 8
2026-06-13T11:05:52.9413960Z             }
2026-06-13T11:05:52.9414070Z           ]
2026-06-13T11:05:52.9414176Z         },
2026-06-13T11:05:52.9414289Z         "int": {
2026-06-13T11:05:52.9414398Z           "complete": false,
2026-06-13T11:05:52.9414517Z           "evidence": []
2026-06-13T11:05:52.9414616Z         },
2026-06-13T11:05:52.9414734Z         "unit": {
2026-06-13T11:05:52.9414854Z           "complete": true,
2026-06-13T11:05:52.9414972Z           "evidence": [
2026-06-13T11:05:52.9415083Z             {
2026-06-13T11:05:52.9415216Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9415339Z               "line": 5646
2026-06-13T11:05:52.9415446Z             },
2026-06-13T11:05:52.9415559Z             {
2026-06-13T11:05:52.9415693Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9415817Z               "line": 5688
2026-06-13T11:05:52.9415936Z             },
2026-06-13T11:05:52.9416042Z             {
2026-06-13T11:05:52.9416170Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9416288Z               "line": 5737
2026-06-13T11:05:52.9416395Z             },
2026-06-13T11:05:52.9416499Z             {
2026-06-13T11:05:52.9416623Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9416748Z               "line": 5760
2026-06-13T11:05:52.9416851Z             },
2026-06-13T11:05:52.9416967Z             {
2026-06-13T11:05:52.9417095Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9417218Z               "line": 7389
2026-06-13T11:05:52.9417318Z             },
2026-06-13T11:05:52.9417426Z             {
2026-06-13T11:05:52.9417558Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9417678Z               "line": 7398
2026-06-13T11:05:52.9417892Z             },
2026-06-13T11:05:52.9417989Z             {
2026-06-13T11:05:52.9418117Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9418235Z               "line": 7412
2026-06-13T11:05:52.9418346Z             }
2026-06-13T11:05:52.9418455Z           ]
2026-06-13T11:05:52.9418560Z         }
2026-06-13T11:05:52.9418770Z       }
2026-06-13T11:05:52.9418875Z     },
2026-06-13T11:05:52.9419065Z     {
2026-06-13T11:05:52.9419185Z       "id": "REQ-MSG-3",
2026-06-13T11:05:52.9419610Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-13T11:05:52.9419737Z       "requiredStages": [
2026-06-13T11:05:52.9419846Z         "impl",
2026-06-13T11:05:52.9419965Z         "unit",
2026-06-13T11:05:52.9420073Z         "int"
2026-06-13T11:05:52.9420183Z       ],
2026-06-13T11:05:52.9420298Z       "stages": {
2026-06-13T11:05:52.9420411Z         "doc": {
2026-06-13T11:05:52.9420541Z           "complete": false,
2026-06-13T11:05:52.9420656Z           "evidence": []
2026-06-13T11:05:52.9420769Z         },
2026-06-13T11:05:52.9420885Z         "impl": {
2026-06-13T11:05:52.9421008Z           "complete": true,
2026-06-13T11:05:52.9421122Z           "evidence": [
2026-06-13T11:05:52.9421237Z             {
2026-06-13T11:05:52.9421398Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-13T11:05:52.9421514Z               "line": 19
2026-06-13T11:05:52.9421628Z             },
2026-06-13T11:05:52.9421737Z             {
2026-06-13T11:05:52.9421890Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T11:05:52.9422004Z               "line": 21
2026-06-13T11:05:52.9422115Z             },
2026-06-13T11:05:52.9422233Z             {
2026-06-13T11:05:52.9422372Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T11:05:52.9422492Z               "line": 48
2026-06-13T11:05:52.9422599Z             },
2026-06-13T11:05:52.9422713Z             {
2026-06-13T11:05:52.9422858Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T11:05:52.9422976Z               "line": 142
2026-06-13T11:05:52.9423090Z             }
2026-06-13T11:05:52.9423201Z           ]
2026-06-13T11:05:52.9423319Z         },
2026-06-13T11:05:52.9423430Z         "int": {
2026-06-13T11:05:52.9423562Z           "complete": true,
2026-06-13T11:05:52.9423677Z           "evidence": [
2026-06-13T11:05:52.9423791Z             {
2026-06-13T11:05:52.9423963Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-13T11:05:52.9424074Z               "line": 10
2026-06-13T11:05:52.9424192Z             },
2026-06-13T11:05:52.9424301Z             {
2026-06-13T11:05:52.9424468Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-13T11:05:52.9424583Z               "line": 70
2026-06-13T11:05:52.9424694Z             }
2026-06-13T11:05:52.9424806Z           ]
2026-06-13T11:05:52.9424915Z         },
2026-06-13T11:05:52.9425030Z         "unit": {
2026-06-13T11:05:52.9425152Z           "complete": true,
2026-06-13T11:05:52.9425270Z           "evidence": [
2026-06-13T11:05:52.9425376Z             {
2026-06-13T11:05:52.9425523Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T11:05:52.9425643Z               "line": 196
2026-06-13T11:05:52.9425753Z             },
2026-06-13T11:05:52.9425866Z             {
2026-06-13T11:05:52.9426010Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T11:05:52.9426133Z               "line": 215
2026-06-13T11:05:52.9426248Z             },
2026-06-13T11:05:52.9426358Z             {
2026-06-13T11:05:52.9426506Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-13T11:05:52.9426626Z               "line": 237
2026-06-13T11:05:52.9426749Z             }
2026-06-13T11:05:52.9426863Z           ]
2026-06-13T11:05:52.9426983Z         }
2026-06-13T11:05:52.9427092Z       }
2026-06-13T11:05:52.9427212Z     },
2026-06-13T11:05:52.9427331Z     {
2026-06-13T11:05:52.9427450Z       "id": "REQ-MSG-4",
2026-06-13T11:05:52.9428525Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-13T11:05:52.9428649Z       "requiredStages": [
2026-06-13T11:05:52.9428868Z         "impl",
2026-06-13T11:05:52.9429048Z         "unit",
2026-06-13T11:05:52.9429169Z         "int"
2026-06-13T11:05:52.9429287Z       ],
2026-06-13T11:05:52.9429396Z       "stages": {
2026-06-13T11:05:52.9429512Z         "doc": {
2026-06-13T11:05:52.9429634Z           "complete": false,
2026-06-13T11:05:52.9429755Z           "evidence": []
2026-06-13T11:05:52.9429870Z         },
2026-06-13T11:05:52.9429988Z         "impl": {
2026-06-13T11:05:52.9430118Z           "complete": true,
2026-06-13T11:05:52.9430236Z           "evidence": [
2026-06-13T11:05:52.9430354Z             {
2026-06-13T11:05:52.9430497Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T11:05:52.9430623Z               "line": 16
2026-06-13T11:05:52.9430743Z             },
2026-06-13T11:05:52.9430848Z             {
2026-06-13T11:05:52.9430985Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T11:05:52.9431106Z               "line": 25
2026-06-13T11:05:52.9431211Z             },
2026-06-13T11:05:52.9431324Z             {
2026-06-13T11:05:52.9431463Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T11:05:52.9431587Z               "line": 47
2026-06-13T11:05:52.9431702Z             },
2026-06-13T11:05:52.9431816Z             {
2026-06-13T11:05:52.9431963Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9432089Z               "line": 380
2026-06-13T11:05:52.9432198Z             },
2026-06-13T11:05:52.9432307Z             {
2026-06-13T11:05:52.9432450Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9432559Z               "line": 2437
2026-06-13T11:05:52.9432680Z             }
2026-06-13T11:05:52.9432779Z           ]
2026-06-13T11:05:52.9432903Z         },
2026-06-13T11:05:52.9433014Z         "int": {
2026-06-13T11:05:52.9433141Z           "complete": true,
2026-06-13T11:05:52.9433268Z           "evidence": [
2026-06-13T11:05:52.9433374Z             {
2026-06-13T11:05:52.9433540Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-13T11:05:52.9433665Z               "line": 98
2026-06-13T11:05:52.9433780Z             },
2026-06-13T11:05:52.9433889Z             {
2026-06-13T11:05:52.9434051Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-13T11:05:52.9434174Z               "line": 128
2026-06-13T11:05:52.9434290Z             }
2026-06-13T11:05:52.9434404Z           ]
2026-06-13T11:05:52.9434513Z         },
2026-06-13T11:05:52.9434629Z         "unit": {
2026-06-13T11:05:52.9434752Z           "complete": true,
2026-06-13T11:05:52.9434876Z           "evidence": [
2026-06-13T11:05:52.9434991Z             {
2026-06-13T11:05:52.9435128Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T11:05:52.9435254Z               "line": 62
2026-06-13T11:05:52.9435361Z             },
2026-06-13T11:05:52.9435475Z             {
2026-06-13T11:05:52.9435614Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T11:05:52.9435736Z               "line": 73
2026-06-13T11:05:52.9435850Z             },
2026-06-13T11:05:52.9435960Z             {
2026-06-13T11:05:52.9436103Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T11:05:52.9436217Z               "line": 84
2026-06-13T11:05:52.9436327Z             },
2026-06-13T11:05:52.9436436Z             {
2026-06-13T11:05:52.9436580Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T11:05:52.9436698Z               "line": 96
2026-06-13T11:05:52.9436809Z             },
2026-06-13T11:05:52.9436928Z             {
2026-06-13T11:05:52.9437066Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T11:05:52.9437186Z               "line": 121
2026-06-13T11:05:52.9437300Z             },
2026-06-13T11:05:52.9437529Z             {
2026-06-13T11:05:52.9437672Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T11:05:52.9437787Z               "line": 136
2026-06-13T11:05:52.9437900Z             }
2026-06-13T11:05:52.9438005Z           ]
2026-06-13T11:05:52.9438121Z         }
2026-06-13T11:05:52.9438234Z       }
2026-06-13T11:05:52.9438438Z     },
2026-06-13T11:05:52.9438556Z     {
2026-06-13T11:05:52.9438673Z       "id": "REQ-MSG-5",
2026-06-13T11:05:52.9439528Z       "title": "user-msg envelope kind + daemon identity gate: a Gateway endpoint / the local user's CLI author user-msg (the user's authority); agent-family senders re-stamped to plain msg; identity-gated never payload-trusted (KH 7.3/7.5); wire-additive (N-1 receivers tolerate the new type)",
2026-06-13T11:05:52.9439651Z       "requiredStages": [
2026-06-13T11:05:52.9439767Z         "doc",
2026-06-13T11:05:52.9439886Z         "impl",
2026-06-13T11:05:52.9439990Z         "unit"
2026-06-13T11:05:52.9440110Z       ],
2026-06-13T11:05:52.9440224Z       "stages": {
2026-06-13T11:05:52.9440339Z         "doc": {
2026-06-13T11:05:52.9440458Z           "complete": true,
2026-06-13T11:05:52.9440577Z           "evidence": [
2026-06-13T11:05:52.9440693Z             {
2026-06-13T11:05:52.9440820Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.9440938Z               "line": 210
2026-06-13T11:05:52.9441047Z             }
2026-06-13T11:05:52.9441170Z           ]
2026-06-13T11:05:52.9441274Z         },
2026-06-13T11:05:52.9441394Z         "impl": {
2026-06-13T11:05:52.9441522Z           "complete": true,
2026-06-13T11:05:52.9441637Z           "evidence": [
2026-06-13T11:05:52.9441756Z             {
2026-06-13T11:05:52.9441899Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T11:05:52.9442023Z               "line": 60
2026-06-13T11:05:52.9442133Z             },
2026-06-13T11:05:52.9442252Z             {
2026-06-13T11:05:52.9442409Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.9442523Z               "line": 118
2026-06-13T11:05:52.9442649Z             },
2026-06-13T11:05:52.9442762Z             {
2026-06-13T11:05:52.9447955Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.9448117Z               "line": 127
2026-06-13T11:05:52.9448246Z             },
2026-06-13T11:05:52.9448366Z             {
2026-06-13T11:05:52.9448522Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.9448657Z               "line": 141
2026-06-13T11:05:52.9448766Z             },
2026-06-13T11:05:52.9448875Z             {
2026-06-13T11:05:52.9449102Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.9449210Z               "line": 170
2026-06-13T11:05:52.9449320Z             },
2026-06-13T11:05:52.9449421Z             {
2026-06-13T11:05:52.9449567Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9449693Z               "line": 2186
2026-06-13T11:05:52.9449811Z             }
2026-06-13T11:05:52.9449911Z           ]
2026-06-13T11:05:52.9450017Z         },
2026-06-13T11:05:52.9450140Z         "int": {
2026-06-13T11:05:52.9450264Z           "complete": true,
2026-06-13T11:05:52.9450383Z           "evidence": [
2026-06-13T11:05:52.9450493Z             {
2026-06-13T11:05:52.9450651Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-13T11:05:52.9450769Z               "line": 19
2026-06-13T11:05:52.9450880Z             }
2026-06-13T11:05:52.9450999Z           ]
2026-06-13T11:05:52.9451103Z         },
2026-06-13T11:05:52.9451224Z         "unit": {
2026-06-13T11:05:52.9451352Z           "complete": true,
2026-06-13T11:05:52.9451479Z           "evidence": [
2026-06-13T11:05:52.9451580Z             {
2026-06-13T11:05:52.9451744Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T11:05:52.9451863Z               "line": 192
2026-06-13T11:05:52.9451973Z             },
2026-06-13T11:05:52.9452082Z             {
2026-06-13T11:05:52.9452245Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-13T11:05:52.9452369Z               "line": 154
2026-06-13T11:05:52.9452636Z             },
2026-06-13T11:05:52.9452744Z             {
2026-06-13T11:05:52.9452884Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-13T11:05:52.9452993Z               "line": 105
2026-06-13T11:05:52.9453103Z             },
2026-06-13T11:05:52.9453204Z             {
2026-06-13T11:05:52.9453360Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.9453575Z               "line": 444
2026-06-13T11:05:52.9453671Z             },
2026-06-13T11:05:52.9453786Z             {
2026-06-13T11:05:52.9453913Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.9454032Z               "line": 493
2026-06-13T11:05:52.9454143Z             },
2026-06-13T11:05:52.9454256Z             {
2026-06-13T11:05:52.9454403Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.9454523Z               "line": 509
2026-06-13T11:05:52.9454637Z             },
2026-06-13T11:05:52.9454742Z             {
2026-06-13T11:05:52.9454900Z               "path": "crates/spt-proto/src/event.rs",
2026-06-13T11:05:52.9455013Z               "line": 528
2026-06-13T11:05:52.9455129Z             },
2026-06-13T11:05:52.9455243Z             {
2026-06-13T11:05:52.9455376Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9455500Z               "line": 5589
2026-06-13T11:05:52.9455614Z             }
2026-06-13T11:05:52.9455730Z           ]
2026-06-13T11:05:52.9455838Z         }
2026-06-13T11:05:52.9455953Z       }
2026-06-13T11:05:52.9456064Z     },
2026-06-13T11:05:52.9456172Z     {
2026-06-13T11:05:52.9456297Z       "id": "REQ-MSG-6",
2026-06-13T11:05:52.9458039Z       "title": "cross-node Gateway user-msg honored via advertised endpoint_type: a user-msg from a Gateway-typed origin survives the receive_wan funnel as user-msg (vs the fail-closed re-stamp), keyed on the QUIC-handshake-proven origin node (never wire `from`). Trust boundary = subnet membership (operator-ratified 2026-06-13); no defense against an in-subnet member forging the type. Instance.endpoint_type is an additive serde-default field extending REQ-INST-7's data model. Absent/unknown type → re-stamp (N-1 rollout grace)",
2026-06-13T11:05:52.9458176Z       "requiredStages": [
2026-06-13T11:05:52.9458297Z         "doc",
2026-06-13T11:05:52.9458405Z         "impl",
2026-06-13T11:05:52.9458525Z         "unit"
2026-06-13T11:05:52.9458636Z       ],
2026-06-13T11:05:52.9458758Z       "stages": {
2026-06-13T11:05:52.9458868Z         "doc": {
2026-06-13T11:05:52.9459058Z           "complete": true,
2026-06-13T11:05:52.9459183Z           "evidence": [
2026-06-13T11:05:52.9459284Z             {
2026-06-13T11:05:52.9459430Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.9459558Z               "line": 213
2026-06-13T11:05:52.9459671Z             }
2026-06-13T11:05:52.9459803Z           ]
2026-06-13T11:05:52.9459924Z         },
2026-06-13T11:05:52.9460042Z         "impl": {
2026-06-13T11:05:52.9460161Z           "complete": true,
2026-06-13T11:05:52.9460277Z           "evidence": [
2026-06-13T11:05:52.9460390Z             {
2026-06-13T11:05:52.9460558Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9460658Z               "line": 177
2026-06-13T11:05:52.9460767Z             },
2026-06-13T11:05:52.9460887Z             {
2026-06-13T11:05:52.9461044Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9461169Z               "line": 422
2026-06-13T11:05:52.9461277Z             },
2026-06-13T11:05:52.9461392Z             {
2026-06-13T11:05:52.9461540Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9461663Z               "line": 445
2026-06-13T11:05:52.9461779Z             },
2026-06-13T11:05:52.9461888Z             {
2026-06-13T11:05:52.9462034Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T11:05:52.9462140Z               "line": 89
2026-06-13T11:05:52.9462252Z             },
2026-06-13T11:05:52.9462360Z             {
2026-06-13T11:05:52.9462510Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9462767Z               "line": 155
2026-06-13T11:05:52.9462872Z             }
2026-06-13T11:05:52.9462976Z           ]
2026-06-13T11:05:52.9463087Z         },
2026-06-13T11:05:52.9463187Z         "int": {
2026-06-13T11:05:52.9463314Z           "complete": false,
2026-06-13T11:05:52.9463430Z           "evidence": []
2026-06-13T11:05:52.9463692Z         },
2026-06-13T11:05:52.9463797Z         "unit": {
2026-06-13T11:05:52.9463925Z           "complete": true,
2026-06-13T11:05:52.9464041Z           "evidence": [
2026-06-13T11:05:52.9464140Z             {
2026-06-13T11:05:52.9464302Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9464408Z               "line": 1639
2026-06-13T11:05:52.9464521Z             },
2026-06-13T11:05:52.9464622Z             {
2026-06-13T11:05:52.9464765Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T11:05:52.9464873Z               "line": 219
2026-06-13T11:05:52.9464978Z             }
2026-06-13T11:05:52.9465093Z           ]
2026-06-13T11:05:52.9465202Z         }
2026-06-13T11:05:52.9465317Z       }
2026-06-13T11:05:52.9465422Z     },
2026-06-13T11:05:52.9465526Z     {
2026-06-13T11:05:52.9465642Z       "id": "REQ-NET-1",
2026-06-13T11:05:52.9465869Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-13T11:05:52.9465994Z       "requiredStages": [
2026-06-13T11:05:52.9466108Z         "impl",
2026-06-13T11:05:52.9466217Z         "unit",
2026-06-13T11:05:52.9466333Z         "int"
2026-06-13T11:05:52.9466447Z       ],
2026-06-13T11:05:52.9466556Z       "stages": {
2026-06-13T11:05:52.9466667Z         "doc": {
2026-06-13T11:05:52.9466790Z           "complete": false,
2026-06-13T11:05:52.9466900Z           "evidence": []
2026-06-13T11:05:52.9467020Z         },
2026-06-13T11:05:52.9467118Z         "impl": {
2026-06-13T11:05:52.9467242Z           "complete": true,
2026-06-13T11:05:52.9467346Z           "evidence": [
2026-06-13T11:05:52.9467464Z             {
2026-06-13T11:05:52.9467631Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9467735Z               "line": 54
2026-06-13T11:05:52.9467840Z             },
2026-06-13T11:05:52.9467951Z             {
2026-06-13T11:05:52.9468107Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9468223Z               "line": 594
2026-06-13T11:05:52.9468337Z             },
2026-06-13T11:05:52.9468450Z             {
2026-06-13T11:05:52.9468594Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-13T11:05:52.9468712Z               "line": 130
2026-06-13T11:05:52.9468823Z             },
2026-06-13T11:05:52.9469027Z             {
2026-06-13T11:05:52.9469191Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9469308Z               "line": 97
2026-06-13T11:05:52.9469414Z             },
2026-06-13T11:05:52.9469520Z             {
2026-06-13T11:05:52.9469681Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9469801Z               "line": 159
2026-06-13T11:05:52.9469924Z             },
2026-06-13T11:05:52.9470028Z             {
2026-06-13T11:05:52.9470185Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9470297Z               "line": 175
2026-06-13T11:05:52.9470407Z             },
2026-06-13T11:05:52.9470512Z             {
2026-06-13T11:05:52.9470664Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9470785Z               "line": 190
2026-06-13T11:05:52.9470889Z             },
2026-06-13T11:05:52.9471003Z             {
2026-06-13T11:05:52.9471151Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9471265Z               "line": 271
2026-06-13T11:05:52.9471380Z             },
2026-06-13T11:05:52.9471485Z             {
2026-06-13T11:05:52.9471628Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9471743Z               "line": 306
2026-06-13T11:05:52.9471856Z             },
2026-06-13T11:05:52.9472087Z             {
2026-06-13T11:05:52.9472238Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9472363Z               "line": 312
2026-06-13T11:05:52.9472472Z             },
2026-06-13T11:05:52.9472585Z             {
2026-06-13T11:05:52.9472733Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9472949Z               "line": 318
2026-06-13T11:05:52.9473060Z             },
2026-06-13T11:05:52.9473164Z             {
2026-06-13T11:05:52.9473317Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9473422Z               "line": 334
2026-06-13T11:05:52.9473536Z             },
2026-06-13T11:05:52.9473652Z             {
2026-06-13T11:05:52.9473789Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9473913Z               "line": 354
2026-06-13T11:05:52.9474028Z             },
2026-06-13T11:05:52.9474137Z             {
2026-06-13T11:05:52.9474276Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T11:05:52.9474404Z               "line": 35
2026-06-13T11:05:52.9474518Z             },
2026-06-13T11:05:52.9474620Z             {
2026-06-13T11:05:52.9474771Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T11:05:52.9474882Z               "line": 85
2026-06-13T11:05:52.9475001Z             },
2026-06-13T11:05:52.9475100Z             {
2026-06-13T11:05:52.9475255Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.9475367Z               "line": 135
2026-06-13T11:05:52.9475471Z             },
2026-06-13T11:05:52.9475586Z             {
2026-06-13T11:05:52.9475719Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9475848Z               "line": 2283
2026-06-13T11:05:52.9475954Z             },
2026-06-13T11:05:52.9476072Z             {
2026-06-13T11:05:52.9476211Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9476325Z               "line": 17
2026-06-13T11:05:52.9476434Z             }
2026-06-13T11:05:52.9476549Z           ]
2026-06-13T11:05:52.9476663Z         },
2026-06-13T11:05:52.9476773Z         "int": {
2026-06-13T11:05:52.9476902Z           "complete": true,
2026-06-13T11:05:52.9477031Z           "evidence": [
2026-06-13T11:05:52.9477136Z             {
2026-06-13T11:05:52.9477311Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9477431Z               "line": 341
2026-06-13T11:05:52.9477546Z             },
2026-06-13T11:05:52.9477659Z             {
2026-06-13T11:05:52.9477821Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9477943Z               "line": 605
2026-06-13T11:05:52.9478052Z             },
2026-06-13T11:05:52.9478172Z             {
2026-06-13T11:05:52.9478319Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9478429Z               "line": 878
2026-06-13T11:05:52.9478539Z             }
2026-06-13T11:05:52.9478652Z           ]
2026-06-13T11:05:52.9478759Z         },
2026-06-13T11:05:52.9478868Z         "unit": {
2026-06-13T11:05:52.9479049Z           "complete": true,
2026-06-13T11:05:52.9479159Z           "evidence": [
2026-06-13T11:05:52.9479268Z             {
2026-06-13T11:05:52.9479412Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9479525Z               "line": 651
2026-06-13T11:05:52.9479630Z             },
2026-06-13T11:05:52.9479746Z             {
2026-06-13T11:05:52.9479893Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9480003Z               "line": 686
2026-06-13T11:05:52.9480113Z             },
2026-06-13T11:05:52.9480222Z             {
2026-06-13T11:05:52.9480380Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9480489Z               "line": 934
2026-06-13T11:05:52.9480593Z             },
2026-06-13T11:05:52.9480707Z             {
2026-06-13T11:05:52.9480852Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-13T11:05:52.9480972Z               "line": 201
2026-06-13T11:05:52.9481210Z             },
2026-06-13T11:05:52.9481320Z             {
2026-06-13T11:05:52.9481473Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9481586Z               "line": 442
2026-06-13T11:05:52.9481707Z             },
2026-06-13T11:05:52.9481811Z             {
2026-06-13T11:05:52.9481959Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9482173Z               "line": 456
2026-06-13T11:05:52.9482284Z             },
2026-06-13T11:05:52.9482407Z             {
2026-06-13T11:05:52.9482550Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9482670Z               "line": 475
2026-06-13T11:05:52.9482774Z             },
2026-06-13T11:05:52.9482885Z             {
2026-06-13T11:05:52.9483036Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T11:05:52.9483136Z               "line": 120
2026-06-13T11:05:52.9483240Z             },
2026-06-13T11:05:52.9483344Z             {
2026-06-13T11:05:52.9483495Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-13T11:05:52.9483615Z               "line": 163
2026-06-13T11:05:52.9483724Z             },
2026-06-13T11:05:52.9483829Z             {
2026-06-13T11:05:52.9483973Z               "path": "crates/spt-store/src/spool.rs",
2026-06-13T11:05:52.9484087Z               "line": 492
2026-06-13T11:05:52.9484192Z             },
2026-06-13T11:05:52.9484302Z             {
2026-06-13T11:05:52.9484444Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9484565Z               "line": 616
2026-06-13T11:05:52.9484674Z             },
2026-06-13T11:05:52.9484769Z             {
2026-06-13T11:05:52.9484912Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9485097Z               "line": 1006
2026-06-13T11:05:52.9485209Z             }
2026-06-13T11:05:52.9485317Z           ]
2026-06-13T11:05:52.9485427Z         }
2026-06-13T11:05:52.9485542Z       }
2026-06-13T11:05:52.9485646Z     },
2026-06-13T11:05:52.9485752Z     {
2026-06-13T11:05:52.9485876Z       "id": "REQ-NET-2",
2026-06-13T11:05:52.9486093Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-13T11:05:52.9486218Z       "requiredStages": [
2026-06-13T11:05:52.9486332Z         "impl"
2026-06-13T11:05:52.9486442Z       ],
2026-06-13T11:05:52.9486556Z       "stages": {
2026-06-13T11:05:52.9486679Z         "doc": {
2026-06-13T11:05:52.9486795Z           "complete": false,
2026-06-13T11:05:52.9486914Z           "evidence": []
2026-06-13T11:05:52.9487018Z         },
2026-06-13T11:05:52.9487129Z         "impl": {
2026-06-13T11:05:52.9487248Z           "complete": true,
2026-06-13T11:05:52.9487367Z           "evidence": [
2026-06-13T11:05:52.9487482Z             {
2026-06-13T11:05:52.9487638Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:52.9487758Z               "line": 57
2026-06-13T11:05:52.9487872Z             },
2026-06-13T11:05:52.9487982Z             {
2026-06-13T11:05:52.9488135Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9488247Z               "line": 71
2026-06-13T11:05:52.9488357Z             },
2026-06-13T11:05:52.9488466Z             {
2026-06-13T11:05:52.9488617Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9488727Z               "line": 81
2026-06-13T11:05:52.9488846Z             },
2026-06-13T11:05:52.9489047Z             {
2026-06-13T11:05:52.9489194Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9489324Z               "line": 159
2026-06-13T11:05:52.9489433Z             },
2026-06-13T11:05:52.9489542Z             {
2026-06-13T11:05:52.9489686Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9489809Z               "line": 175
2026-06-13T11:05:52.9489919Z             },
2026-06-13T11:05:52.9490029Z             {
2026-06-13T11:05:52.9490209Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-13T11:05:52.9490320Z               "line": 190
2026-06-13T11:05:52.9490558Z             }
2026-06-13T11:05:52.9490678Z           ]
2026-06-13T11:05:52.9490777Z         },
2026-06-13T11:05:52.9490897Z         "int": {
2026-06-13T11:05:52.9491012Z           "complete": false,
2026-06-13T11:05:52.9491139Z           "evidence": []
2026-06-13T11:05:52.9491248Z         },
2026-06-13T11:05:52.9491366Z         "unit": {
2026-06-13T11:05:52.9491575Z           "complete": true,
2026-06-13T11:05:52.9491690Z           "evidence": [
2026-06-13T11:05:52.9491813Z             {
2026-06-13T11:05:52.9491962Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:52.9492080Z               "line": 402
2026-06-13T11:05:52.9492186Z             }
2026-06-13T11:05:52.9492304Z           ]
2026-06-13T11:05:52.9492404Z         }
2026-06-13T11:05:52.9492520Z       }
2026-06-13T11:05:52.9492633Z     },
2026-06-13T11:05:52.9492743Z     {
2026-06-13T11:05:52.9492863Z       "id": "REQ-NET-3",
2026-06-13T11:05:52.9493091Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-13T11:05:52.9493221Z       "requiredStages": [
2026-06-13T11:05:52.9493334Z         "impl",
2026-06-13T11:05:52.9493450Z         "unit"
2026-06-13T11:05:52.9493560Z       ],
2026-06-13T11:05:52.9493672Z       "stages": {
2026-06-13T11:05:52.9493791Z         "doc": {
2026-06-13T11:05:52.9493909Z           "complete": false,
2026-06-13T11:05:52.9494037Z           "evidence": []
2026-06-13T11:05:52.9494142Z         },
2026-06-13T11:05:52.9494261Z         "impl": {
2026-06-13T11:05:52.9494384Z           "complete": true,
2026-06-13T11:05:52.9494500Z           "evidence": [
2026-06-13T11:05:52.9494613Z             {
2026-06-13T11:05:52.9494757Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.9494881Z               "line": 39
2026-06-13T11:05:52.9494990Z             },
2026-06-13T11:05:52.9495106Z             {
2026-06-13T11:05:52.9495257Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.9495372Z               "line": 182
2026-06-13T11:05:52.9495486Z             },
2026-06-13T11:05:52.9495596Z             {
2026-06-13T11:05:52.9495745Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-13T11:05:52.9495862Z               "line": 333
2026-06-13T11:05:52.9495977Z             },
2026-06-13T11:05:52.9496098Z             {
2026-06-13T11:05:52.9496240Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-13T11:05:52.9496370Z               "line": 36
2026-06-13T11:05:52.9496482Z             },
2026-06-13T11:05:52.9496596Z             {
2026-06-13T11:05:52.9496764Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9496877Z               "line": 158
2026-06-13T11:05:52.9496992Z             },
2026-06-13T11:05:52.9497102Z             {
2026-06-13T11:05:52.9497263Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9497379Z               "line": 212
2026-06-13T11:05:52.9497493Z             },
2026-06-13T11:05:52.9497612Z             {
2026-06-13T11:05:52.9497769Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9497893Z               "line": 233
2026-06-13T11:05:52.9498004Z             },
2026-06-13T11:05:52.9498127Z             {
2026-06-13T11:05:52.9498276Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9498399Z               "line": 291
2026-06-13T11:05:52.9498518Z             },
2026-06-13T11:05:52.9498629Z             {
2026-06-13T11:05:52.9498789Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9498903Z               "line": 310
2026-06-13T11:05:52.9499115Z             },
2026-06-13T11:05:52.9499225Z             {
2026-06-13T11:05:52.9499397Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9499516Z               "line": 348
2026-06-13T11:05:52.9499626Z             },
2026-06-13T11:05:52.9499745Z             {
2026-06-13T11:05:52.9499898Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9500022Z               "line": 393
2026-06-13T11:05:52.9500289Z             },
2026-06-13T11:05:52.9500412Z             {
2026-06-13T11:05:52.9500565Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9500680Z               "line": 406
2026-06-13T11:05:52.9500794Z             },
2026-06-13T11:05:52.9500904Z             {
2026-06-13T11:05:52.9501061Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.9501275Z               "line": 29
2026-06-13T11:05:52.9501390Z             },
2026-06-13T11:05:52.9501505Z             {
2026-06-13T11:05:52.9501656Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.9501784Z               "line": 72
2026-06-13T11:05:52.9501893Z             },
2026-06-13T11:05:52.9502010Z             {
2026-06-13T11:05:52.9502159Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.9502288Z               "line": 123
2026-06-13T11:05:52.9502421Z             }
2026-06-13T11:05:52.9502536Z           ]
2026-06-13T11:05:52.9502659Z         },
2026-06-13T11:05:52.9502765Z         "int": {
2026-06-13T11:05:52.9502894Z           "complete": false,
2026-06-13T11:05:52.9503007Z           "evidence": []
2026-06-13T11:05:52.9503118Z         },
2026-06-13T11:05:52.9503232Z         "unit": {
2026-06-13T11:05:52.9503346Z           "complete": true,
2026-06-13T11:05:52.9503466Z           "evidence": [
2026-06-13T11:05:52.9503575Z             {
2026-06-13T11:05:52.9503729Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T11:05:52.9503847Z               "line": 223
2026-06-13T11:05:52.9503961Z             },
2026-06-13T11:05:52.9504077Z             {
2026-06-13T11:05:52.9504222Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T11:05:52.9504337Z               "line": 351
2026-06-13T11:05:52.9504446Z             },
2026-06-13T11:05:52.9504554Z             {
2026-06-13T11:05:52.9504702Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-13T11:05:52.9504817Z               "line": 504
2026-06-13T11:05:52.9504930Z             },
2026-06-13T11:05:52.9505037Z             {
2026-06-13T11:05:52.9505188Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-13T11:05:52.9505303Z               "line": 93
2026-06-13T11:05:52.9505417Z             },
2026-06-13T11:05:52.9505536Z             {
2026-06-13T11:05:52.9505680Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-13T11:05:52.9505808Z               "line": 142
2026-06-13T11:05:52.9505913Z             },
2026-06-13T11:05:52.9506028Z             {
2026-06-13T11:05:52.9506170Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.9506295Z               "line": 315
2026-06-13T11:05:52.9506413Z             },
2026-06-13T11:05:52.9506519Z             {
2026-06-13T11:05:52.9506677Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.9506862Z               "line": 355
2026-06-13T11:05:52.9506978Z             },
2026-06-13T11:05:52.9507090Z             {
2026-06-13T11:05:52.9507242Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-13T11:05:52.9507367Z               "line": 494
2026-06-13T11:05:52.9507471Z             }
2026-06-13T11:05:52.9507591Z           ]
2026-06-13T11:05:52.9507696Z         }
2026-06-13T11:05:52.9507819Z       }
2026-06-13T11:05:52.9507920Z     },
2026-06-13T11:05:52.9508025Z     {
2026-06-13T11:05:52.9508163Z       "id": "REQ-NODE-IDENTITY",
2026-06-13T11:05:52.9508458Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-13T11:05:52.9508592Z       "requiredStages": [
2026-06-13T11:05:52.9508697Z         "impl",
2026-06-13T11:05:52.9508817Z         "unit"
2026-06-13T11:05:52.9508921Z       ],
2026-06-13T11:05:52.9509136Z       "stages": {
2026-06-13T11:05:52.9509255Z         "doc": {
2026-06-13T11:05:52.9509377Z           "complete": false,
2026-06-13T11:05:52.9509506Z           "evidence": []
2026-06-13T11:05:52.9509609Z         },
2026-06-13T11:05:52.9509732Z         "impl": {
2026-06-13T11:05:52.9510119Z           "complete": true,
2026-06-13T11:05:52.9510243Z           "evidence": [
2026-06-13T11:05:52.9510347Z             {
2026-06-13T11:05:52.9510496Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T11:05:52.9510619Z               "line": 60
2026-06-13T11:05:52.9510720Z             },
2026-06-13T11:05:52.9510849Z             {
2026-06-13T11:05:52.9511093Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T11:05:52.9511216Z               "line": 68
2026-06-13T11:05:52.9511339Z             },
2026-06-13T11:05:52.9511441Z             {
2026-06-13T11:05:52.9511597Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T11:05:52.9511713Z               "line": 86
2026-06-13T11:05:52.9511835Z             },
2026-06-13T11:05:52.9511941Z             {
2026-06-13T11:05:52.9512094Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T11:05:52.9512216Z               "line": 120
2026-06-13T11:05:52.9512325Z             },
2026-06-13T11:05:52.9512444Z             {
2026-06-13T11:05:52.9512580Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T11:05:52.9512705Z               "line": 127
2026-06-13T11:05:52.9512806Z             },
2026-06-13T11:05:52.9512919Z             {
2026-06-13T11:05:52.9513078Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T11:05:52.9513196Z               "line": 143
2026-06-13T11:05:52.9513321Z             },
2026-06-13T11:05:52.9513430Z             {
2026-06-13T11:05:52.9513567Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-13T11:05:52.9513692Z               "line": 16
2026-06-13T11:05:52.9513792Z             }
2026-06-13T11:05:52.9513906Z           ]
2026-06-13T11:05:52.9514007Z         },
2026-06-13T11:05:52.9514115Z         "int": {
2026-06-13T11:05:52.9514221Z           "complete": false,
2026-06-13T11:05:52.9514341Z           "evidence": []
2026-06-13T11:05:52.9514444Z         },
2026-06-13T11:05:52.9514555Z         "unit": {
2026-06-13T11:05:52.9514680Z           "complete": true,
2026-06-13T11:05:52.9514797Z           "evidence": [
2026-06-13T11:05:52.9514916Z             {
2026-06-13T11:05:52.9515062Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T11:05:52.9515181Z               "line": 199
2026-06-13T11:05:52.9515286Z             },
2026-06-13T11:05:52.9515396Z             {
2026-06-13T11:05:52.9515553Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T11:05:52.9515667Z               "line": 218
2026-06-13T11:05:52.9515786Z             },
2026-06-13T11:05:52.9515887Z             {
2026-06-13T11:05:52.9516045Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T11:05:52.9516168Z               "line": 234
2026-06-13T11:05:52.9516278Z             },
2026-06-13T11:05:52.9516392Z             {
2026-06-13T11:05:52.9516536Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-13T11:05:52.9516654Z               "line": 256
2026-06-13T11:05:52.9516774Z             },
2026-06-13T11:05:52.9516894Z             {
2026-06-13T11:05:52.9517045Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-13T11:05:52.9517161Z               "line": 124
2026-06-13T11:05:52.9517270Z             },
2026-06-13T11:05:52.9517384Z             {
2026-06-13T11:05:52.9517533Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-13T11:05:52.9517640Z               "line": 140
2026-06-13T11:05:52.9517764Z             },
2026-06-13T11:05:52.9517874Z             {
2026-06-13T11:05:52.9518017Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-13T11:05:52.9518136Z               "line": 155
2026-06-13T11:05:52.9518247Z             }
2026-06-13T11:05:52.9518350Z           ]
2026-06-13T11:05:52.9518461Z         }
2026-06-13T11:05:52.9518576Z       }
2026-06-13T11:05:52.9518679Z     },
2026-06-13T11:05:52.9518786Z     {
2026-06-13T11:05:52.9518904Z       "id": "REQ-NOTIF-1",
2026-06-13T11:05:52.9519377Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-13T11:05:52.9519619Z       "requiredStages": [
2026-06-13T11:05:52.9519730Z         "impl",
2026-06-13T11:05:52.9519847Z         "unit",
2026-06-13T11:05:52.9519961Z         "int"
2026-06-13T11:05:52.9520071Z       ],
2026-06-13T11:05:52.9520193Z       "stages": {
2026-06-13T11:05:52.9520297Z         "doc": {
2026-06-13T11:05:52.9520517Z           "complete": false,
2026-06-13T11:05:52.9520631Z           "evidence": []
2026-06-13T11:05:52.9520737Z         },
2026-06-13T11:05:52.9520851Z         "impl": {
2026-06-13T11:05:52.9520970Z           "complete": true,
2026-06-13T11:05:52.9521085Z           "evidence": [
2026-06-13T11:05:52.9521189Z             {
2026-06-13T11:05:52.9521343Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9521461Z               "line": 514
2026-06-13T11:05:52.9521566Z             },
2026-06-13T11:05:52.9521681Z             {
2026-06-13T11:05:52.9521833Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9521958Z               "line": 30
2026-06-13T11:05:52.9522062Z             },
2026-06-13T11:05:52.9522181Z             {
2026-06-13T11:05:52.9522311Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9522433Z               "line": 69
2026-06-13T11:05:52.9522554Z             },
2026-06-13T11:05:52.9522668Z             {
2026-06-13T11:05:52.9522809Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9522919Z               "line": 93
2026-06-13T11:05:52.9523032Z             },
2026-06-13T11:05:52.9523140Z             {
2026-06-13T11:05:52.9523294Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9523418Z               "line": 107
2026-06-13T11:05:52.9523517Z             },
2026-06-13T11:05:52.9523633Z             {
2026-06-13T11:05:52.9523770Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9523900Z               "line": 142
2026-06-13T11:05:52.9524000Z             },
2026-06-13T11:05:52.9524104Z             {
2026-06-13T11:05:52.9524248Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9524357Z               "line": 187
2026-06-13T11:05:52.9524471Z             },
2026-06-13T11:05:52.9524572Z             {
2026-06-13T11:05:52.9524719Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9524840Z               "line": 258
2026-06-13T11:05:52.9524939Z             },
2026-06-13T11:05:52.9525053Z             {
2026-06-13T11:05:52.9525197Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9525324Z               "line": 372
2026-06-13T11:05:52.9525433Z             },
2026-06-13T11:05:52.9525543Z             {
2026-06-13T11:05:52.9525683Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9525789Z               "line": 479
2026-06-13T11:05:52.9525899Z             },
2026-06-13T11:05:52.9526007Z             {
2026-06-13T11:05:52.9526171Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.9526285Z               "line": 24
2026-06-13T11:05:52.9526394Z             },
2026-06-13T11:05:52.9526504Z             {
2026-06-13T11:05:52.9526661Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.9526781Z               "line": 34
2026-06-13T11:05:52.9526894Z             },
2026-06-13T11:05:52.9527004Z             {
2026-06-13T11:05:52.9527153Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.9527281Z               "line": 60
2026-06-13T11:05:52.9527387Z             },
2026-06-13T11:05:52.9527491Z             {
2026-06-13T11:05:52.9527639Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.9527754Z               "line": 82
2026-06-13T11:05:52.9527867Z             },
2026-06-13T11:05:52.9527973Z             {
2026-06-13T11:05:52.9528121Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.9528243Z               "line": 94
2026-06-13T11:05:52.9528353Z             },
2026-06-13T11:05:52.9528553Z             {
2026-06-13T11:05:52.9528701Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.9528812Z               "line": 96
2026-06-13T11:05:52.9528915Z             },
2026-06-13T11:05:52.9529102Z             {
2026-06-13T11:05:52.9529264Z               "path": "crates/spt-daemon/src/pump/notif.rs",
2026-06-13T11:05:52.9529479Z               "line": 44
2026-06-13T11:05:52.9529592Z             },
2026-06-13T11:05:52.9529699Z             {
2026-06-13T11:05:52.9529840Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T11:05:52.9529956Z               "line": 20
2026-06-13T11:05:52.9530070Z             },
2026-06-13T11:05:52.9530179Z             {
2026-06-13T11:05:52.9530319Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T11:05:52.9530426Z               "line": 30
2026-06-13T11:05:52.9530535Z             },
2026-06-13T11:05:52.9530646Z             {
2026-06-13T11:05:52.9530786Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T11:05:52.9530896Z               "line": 50
2026-06-13T11:05:52.9531016Z             },
2026-06-13T11:05:52.9531120Z             {
2026-06-13T11:05:52.9531263Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9531369Z               "line": 28
2026-06-13T11:05:52.9531487Z             },
2026-06-13T11:05:52.9535642Z             {
2026-06-13T11:05:52.9535865Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9535998Z               "line": 126
2026-06-13T11:05:52.9536108Z             },
2026-06-13T11:05:52.9536225Z             {
2026-06-13T11:05:52.9536378Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9536502Z               "line": 161
2026-06-13T11:05:52.9536615Z             },
2026-06-13T11:05:52.9536726Z             {
2026-06-13T11:05:52.9536878Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9536993Z               "line": 202
2026-06-13T11:05:52.9537108Z             },
2026-06-13T11:05:52.9537226Z             {
2026-06-13T11:05:52.9537375Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9537498Z               "line": 213
2026-06-13T11:05:52.9537608Z             },
2026-06-13T11:05:52.9537718Z             {
2026-06-13T11:05:52.9537860Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9537981Z               "line": 238
2026-06-13T11:05:52.9538089Z             },
2026-06-13T11:05:52.9538199Z             {
2026-06-13T11:05:52.9538343Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9538456Z               "line": 261
2026-06-13T11:05:52.9538567Z             },
2026-06-13T11:05:52.9538672Z             {
2026-06-13T11:05:52.9538827Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9539029Z               "line": 63
2026-06-13T11:05:52.9539151Z             }
2026-06-13T11:05:52.9539266Z           ]
2026-06-13T11:05:52.9539372Z         },
2026-06-13T11:05:52.9539490Z         "int": {
2026-06-13T11:05:52.9539615Z           "complete": true,
2026-06-13T11:05:52.9539734Z           "evidence": [
2026-06-13T11:05:52.9539843Z             {
2026-06-13T11:05:52.9540019Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9540138Z               "line": 285
2026-06-13T11:05:52.9540245Z             },
2026-06-13T11:05:52.9540358Z             {
2026-06-13T11:05:52.9540512Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-13T11:05:52.9540630Z               "line": 102
2026-06-13T11:05:52.9540739Z             },
2026-06-13T11:05:52.9540855Z             {
2026-06-13T11:05:52.9541010Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9541124Z               "line": 614
2026-06-13T11:05:52.9541234Z             },
2026-06-13T11:05:52.9541341Z             {
2026-06-13T11:05:52.9541499Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9541619Z               "line": 1007
2026-06-13T11:05:52.9541732Z             }
2026-06-13T11:05:52.9542037Z           ]
2026-06-13T11:05:52.9542144Z         },
2026-06-13T11:05:52.9542263Z         "unit": {
2026-06-13T11:05:52.9542381Z           "complete": true,
2026-06-13T11:05:52.9542501Z           "evidence": [
2026-06-13T11:05:52.9542605Z             {
2026-06-13T11:05:52.9542763Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9542977Z               "line": 572
2026-06-13T11:05:52.9543088Z             },
2026-06-13T11:05:52.9543201Z             {
2026-06-13T11:05:52.9543344Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9543465Z               "line": 621
2026-06-13T11:05:52.9543573Z             },
2026-06-13T11:05:52.9543689Z             {
2026-06-13T11:05:52.9543840Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9543953Z               "line": 725
2026-06-13T11:05:52.9544068Z             },
2026-06-13T11:05:52.9544176Z             {
2026-06-13T11:05:52.9544318Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9544438Z               "line": 757
2026-06-13T11:05:52.9544547Z             },
2026-06-13T11:05:52.9544652Z             {
2026-06-13T11:05:52.9544791Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9544909Z               "line": 825
2026-06-13T11:05:52.9545016Z             },
2026-06-13T11:05:52.9545125Z             {
2026-06-13T11:05:52.9545267Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9545387Z               "line": 883
2026-06-13T11:05:52.9545505Z             },
2026-06-13T11:05:52.9545606Z             {
2026-06-13T11:05:52.9545758Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9545863Z               "line": 1158
2026-06-13T11:05:52.9545979Z             },
2026-06-13T11:05:52.9546082Z             {
2026-06-13T11:05:52.9546236Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.9546350Z               "line": 157
2026-06-13T11:05:52.9546459Z             },
2026-06-13T11:05:52.9546573Z             {
2026-06-13T11:05:52.9546719Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.9546846Z               "line": 250
2026-06-13T11:05:52.9546952Z             },
2026-06-13T11:05:52.9547053Z             {
2026-06-13T11:05:52.9547205Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-13T11:05:52.9547325Z               "line": 273
2026-06-13T11:05:52.9547433Z             },
2026-06-13T11:05:52.9547543Z             {
2026-06-13T11:05:52.9547701Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.9547819Z               "line": 341
2026-06-13T11:05:52.9547930Z             },
2026-06-13T11:05:52.9548044Z             {
2026-06-13T11:05:52.9548192Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-13T11:05:52.9548311Z               "line": 373
2026-06-13T11:05:52.9548416Z             },
2026-06-13T11:05:52.9548527Z             {
2026-06-13T11:05:52.9548692Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-13T11:05:52.9548807Z               "line": 131
2026-06-13T11:05:52.9548922Z             },
2026-06-13T11:05:52.9549118Z             {
2026-06-13T11:05:52.9549274Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T11:05:52.9549387Z               "line": 72
2026-06-13T11:05:52.9549497Z             },
2026-06-13T11:05:52.9549612Z             {
2026-06-13T11:05:52.9549759Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-13T11:05:52.9549875Z               "line": 97
2026-06-13T11:05:52.9549983Z             },
2026-06-13T11:05:52.9550093Z             {
2026-06-13T11:05:52.9550236Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9550359Z               "line": 379
2026-06-13T11:05:52.9550470Z             },
2026-06-13T11:05:52.9550579Z             {
2026-06-13T11:05:52.9550727Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9550843Z               "line": 417
2026-06-13T11:05:52.9551077Z             },
2026-06-13T11:05:52.9551181Z             {
2026-06-13T11:05:52.9551328Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9551444Z               "line": 433
2026-06-13T11:05:52.9551552Z             },
2026-06-13T11:05:52.9551670Z             {
2026-06-13T11:05:52.9551808Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9552021Z               "line": 472
2026-06-13T11:05:52.9552131Z             },
2026-06-13T11:05:52.9552240Z             {
2026-06-13T11:05:52.9552383Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9552498Z               "line": 489
2026-06-13T11:05:52.9552612Z             },
2026-06-13T11:05:52.9552718Z             {
2026-06-13T11:05:52.9552860Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9552980Z               "line": 517
2026-06-13T11:05:52.9553085Z             },
2026-06-13T11:05:52.9553198Z             {
2026-06-13T11:05:52.9553333Z               "path": "crates/spt-store/src/notif.rs",
2026-06-13T11:05:52.9553456Z               "line": 548
2026-06-13T11:05:52.9553566Z             },
2026-06-13T11:05:52.9553681Z             {
2026-06-13T11:05:52.9553833Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9553944Z               "line": 534
2026-06-13T11:05:52.9554057Z             }
2026-06-13T11:05:52.9554166Z           ]
2026-06-13T11:05:52.9554282Z         }
2026-06-13T11:05:52.9554386Z       }
2026-06-13T11:05:52.9554500Z     },
2026-06-13T11:05:52.9554614Z     {
2026-06-13T11:05:52.9554731Z       "id": "REQ-NOTIF-2",
2026-06-13T11:05:52.9555042Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-13T11:05:52.9555164Z       "requiredStages": [
2026-06-13T11:05:52.9555275Z         "doc",
2026-06-13T11:05:52.9555389Z         "impl",
2026-06-13T11:05:52.9555507Z         "unit",
2026-06-13T11:05:52.9555623Z         "int"
2026-06-13T11:05:52.9555727Z       ],
2026-06-13T11:05:52.9555847Z       "stages": {
2026-06-13T11:05:52.9555956Z         "doc": {
2026-06-13T11:05:52.9556085Z           "complete": true,
2026-06-13T11:05:52.9556200Z           "evidence": [
2026-06-13T11:05:52.9556318Z             {
2026-06-13T11:05:52.9556452Z               "path": "CONTEXT.md",
2026-06-13T11:05:52.9556568Z               "line": 398
2026-06-13T11:05:52.9556685Z             },
2026-06-13T11:05:52.9556791Z             {
2026-06-13T11:05:52.9556925Z               "path": "docs/MANIFEST.md",
2026-06-13T11:05:52.9557043Z               "line": 62
2026-06-13T11:05:52.9557156Z             }
2026-06-13T11:05:52.9557274Z           ]
2026-06-13T11:05:52.9557378Z         },
2026-06-13T11:05:52.9557493Z         "impl": {
2026-06-13T11:05:52.9557617Z           "complete": true,
2026-06-13T11:05:52.9557730Z           "evidence": [
2026-06-13T11:05:52.9557837Z             {
2026-06-13T11:05:52.9557998Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9558118Z               "line": 287
2026-06-13T11:05:52.9558232Z             },
2026-06-13T11:05:52.9558346Z             {
2026-06-13T11:05:52.9558490Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9558614Z               "line": 301
2026-06-13T11:05:52.9558723Z             },
2026-06-13T11:05:52.9558833Z             {
2026-06-13T11:05:52.9559072Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9559195Z               "line": 326
2026-06-13T11:05:52.9559300Z             },
2026-06-13T11:05:52.9559401Z             {
2026-06-13T11:05:52.9559562Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9559678Z               "line": 195
2026-06-13T11:05:52.9559792Z             },
2026-06-13T11:05:52.9559895Z             {
2026-06-13T11:05:52.9560038Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9560158Z               "line": 72
2026-06-13T11:05:52.9560266Z             },
2026-06-13T11:05:52.9560377Z             {
2026-06-13T11:05:52.9560610Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9560725Z               "line": 1685
2026-06-13T11:05:52.9560830Z             },
2026-06-13T11:05:52.9560934Z             {
2026-06-13T11:05:52.9561068Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9561178Z               "line": 1734
2026-06-13T11:05:52.9561379Z             },
2026-06-13T11:05:52.9561488Z             {
2026-06-13T11:05:52.9561627Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9561746Z               "line": 1813
2026-06-13T11:05:52.9561855Z             },
2026-06-13T11:05:52.9561971Z             {
2026-06-13T11:05:52.9562107Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9562221Z               "line": 1852
2026-06-13T11:05:52.9562330Z             }
2026-06-13T11:05:52.9562443Z           ]
2026-06-13T11:05:52.9562552Z         },
2026-06-13T11:05:52.9562663Z         "int": {
2026-06-13T11:05:52.9562781Z           "complete": true,
2026-06-13T11:05:52.9562895Z           "evidence": [
2026-06-13T11:05:52.9563015Z             {
2026-06-13T11:05:52.9563167Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9563288Z               "line": 740
2026-06-13T11:05:52.9563406Z             },
2026-06-13T11:05:52.9563511Z             {
2026-06-13T11:05:52.9563668Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9563791Z               "line": 1160
2026-06-13T11:05:52.9563902Z             }
2026-06-13T11:05:52.9564011Z           ]
2026-06-13T11:05:52.9564126Z         },
2026-06-13T11:05:52.9564237Z         "unit": {
2026-06-13T11:05:52.9564345Z           "complete": true,
2026-06-13T11:05:52.9564465Z           "evidence": [
2026-06-13T11:05:52.9564570Z             {
2026-06-13T11:05:52.9564722Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9564838Z               "line": 1007
2026-06-13T11:05:52.9564951Z             },
2026-06-13T11:05:52.9565060Z             {
2026-06-13T11:05:52.9565198Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9565324Z               "line": 1075
2026-06-13T11:05:52.9565433Z             },
2026-06-13T11:05:52.9565544Z             {
2026-06-13T11:05:52.9565676Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9565797Z               "line": 6005
2026-06-13T11:05:52.9565916Z             },
2026-06-13T11:05:52.9566025Z             {
2026-06-13T11:05:52.9566169Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9566288Z               "line": 6060
2026-06-13T11:05:52.9566407Z             }
2026-06-13T11:05:52.9566522Z           ]
2026-06-13T11:05:52.9566621Z         }
2026-06-13T11:05:52.9566736Z       }
2026-06-13T11:05:52.9566846Z     },
2026-06-13T11:05:52.9566955Z     {
2026-06-13T11:05:52.9567075Z       "id": "REQ-PAIR-1",
2026-06-13T11:05:52.9567221Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-13T11:05:52.9567327Z       "requiredStages": [
2026-06-13T11:05:52.9567443Z         "impl",
2026-06-13T11:05:52.9567565Z         "unit",
2026-06-13T11:05:52.9567673Z         "int"
2026-06-13T11:05:52.9567788Z       ],
2026-06-13T11:05:52.9567900Z       "stages": {
2026-06-13T11:05:52.9568005Z         "doc": {
2026-06-13T11:05:52.9568125Z           "complete": false,
2026-06-13T11:05:52.9568243Z           "evidence": []
2026-06-13T11:05:52.9568358Z         },
2026-06-13T11:05:52.9568473Z         "impl": {
2026-06-13T11:05:52.9568601Z           "complete": true,
2026-06-13T11:05:52.9568717Z           "evidence": [
2026-06-13T11:05:52.9568821Z             {
2026-06-13T11:05:52.9569055Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.9569174Z               "line": 27
2026-06-13T11:05:52.9569288Z             },
2026-06-13T11:05:52.9569393Z             {
2026-06-13T11:05:52.9569565Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.9569676Z               "line": 88
2026-06-13T11:05:52.9569788Z             },
2026-06-13T11:05:52.9569898Z             {
2026-06-13T11:05:52.9570161Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.9570281Z               "line": 110
2026-06-13T11:05:52.9570389Z             },
2026-06-13T11:05:52.9570498Z             {
2026-06-13T11:05:52.9570651Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.9570889Z               "line": 153
2026-06-13T11:05:52.9570995Z             },
2026-06-13T11:05:52.9571089Z             {
2026-06-13T11:05:52.9571248Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.9571352Z               "line": 182
2026-06-13T11:05:52.9571461Z             },
2026-06-13T11:05:52.9571562Z             {
2026-06-13T11:05:52.9571729Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T11:05:52.9571853Z               "line": 29
2026-06-13T11:05:52.9571958Z             },
2026-06-13T11:05:52.9572072Z             {
2026-06-13T11:05:52.9572235Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-13T11:05:52.9572358Z               "line": 31
2026-06-13T11:05:52.9572458Z             },
2026-06-13T11:05:52.9572578Z             {
2026-06-13T11:05:52.9572733Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9572848Z               "line": 44
2026-06-13T11:05:52.9572961Z             },
2026-06-13T11:05:52.9573074Z             {
2026-06-13T11:05:52.9573233Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9573351Z               "line": 171
2026-06-13T11:05:52.9573470Z             },
2026-06-13T11:05:52.9573585Z             {
2026-06-13T11:05:52.9573737Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9573857Z               "line": 376
2026-06-13T11:05:52.9573961Z             }
2026-06-13T11:05:52.9574076Z           ]
2026-06-13T11:05:52.9574191Z         },
2026-06-13T11:05:52.9574305Z         "int": {
2026-06-13T11:05:52.9574429Z           "complete": true,
2026-06-13T11:05:52.9574548Z           "evidence": [
2026-06-13T11:05:52.9574657Z             {
2026-06-13T11:05:52.9574811Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9574929Z               "line": 575
2026-06-13T11:05:52.9575039Z             },
2026-06-13T11:05:52.9575154Z             {
2026-06-13T11:05:52.9575315Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9575431Z               "line": 792
2026-06-13T11:05:52.9575544Z             }
2026-06-13T11:05:52.9575648Z           ]
2026-06-13T11:05:52.9575762Z         },
2026-06-13T11:05:52.9575875Z         "unit": {
2026-06-13T11:05:52.9575998Z           "complete": true,
2026-06-13T11:05:52.9576123Z           "evidence": [
2026-06-13T11:05:52.9576237Z             {
2026-06-13T11:05:52.9576405Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.9576519Z               "line": 236
2026-06-13T11:05:52.9576637Z             },
2026-06-13T11:05:52.9576744Z             {
2026-06-13T11:05:52.9576914Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-13T11:05:52.9577029Z               "line": 349
2026-06-13T11:05:52.9577138Z             },
2026-06-13T11:05:52.9577258Z             {
2026-06-13T11:05:52.9577411Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T11:05:52.9577534Z               "line": 194
2026-06-13T11:05:52.9577654Z             },
2026-06-13T11:05:52.9577763Z             {
2026-06-13T11:05:52.9577921Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T11:05:52.9578036Z               "line": 216
2026-06-13T11:05:52.9578163Z             },
2026-06-13T11:05:52.9578268Z             {
2026-06-13T11:05:52.9578428Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T11:05:52.9578546Z               "line": 230
2026-06-13T11:05:52.9578652Z             },
2026-06-13T11:05:52.9578766Z             {
2026-06-13T11:05:52.9578918Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T11:05:52.9579243Z               "line": 242
2026-06-13T11:05:52.9579352Z             },
2026-06-13T11:05:52.9579461Z             {
2026-06-13T11:05:52.9579625Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T11:05:52.9579743Z               "line": 256
2026-06-13T11:05:52.9579858Z             },
2026-06-13T11:05:52.9580053Z             {
2026-06-13T11:05:52.9580216Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T11:05:52.9580329Z               "line": 270
2026-06-13T11:05:52.9580444Z             },
2026-06-13T11:05:52.9580555Z             {
2026-06-13T11:05:52.9580706Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T11:05:52.9580822Z               "line": 277
2026-06-13T11:05:52.9580931Z             },
2026-06-13T11:05:52.9581044Z             {
2026-06-13T11:05:52.9581197Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-13T11:05:52.9581320Z               "line": 295
2026-06-13T11:05:52.9581435Z             },
2026-06-13T11:05:52.9581545Z             {
2026-06-13T11:05:52.9581702Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9581813Z               "line": 968
2026-06-13T11:05:52.9581931Z             },
2026-06-13T11:05:52.9582040Z             {
2026-06-13T11:05:52.9582198Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9582321Z               "line": 1051
2026-06-13T11:05:52.9582432Z             },
2026-06-13T11:05:52.9582546Z             {
2026-06-13T11:05:52.9582693Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9582823Z               "line": 1121
2026-06-13T11:05:52.9582941Z             },
2026-06-13T11:05:52.9583052Z             {
2026-06-13T11:05:52.9583218Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9583336Z               "line": 1182
2026-06-13T11:05:52.9583455Z             },
2026-06-13T11:05:52.9583563Z             {
2026-06-13T11:05:52.9583725Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9583845Z               "line": 1238
2026-06-13T11:05:52.9583958Z             },
2026-06-13T11:05:52.9584074Z             {
2026-06-13T11:05:52.9584226Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9584345Z               "line": 1457
2026-06-13T11:05:52.9584450Z             }
2026-06-13T11:05:52.9584569Z           ]
2026-06-13T11:05:52.9584685Z         }
2026-06-13T11:05:52.9584794Z       }
2026-06-13T11:05:52.9584912Z     },
2026-06-13T11:05:52.9585023Z     {
2026-06-13T11:05:52.9585151Z       "id": "REQ-PAIR-2",
2026-06-13T11:05:52.9585329Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-13T11:05:52.9585461Z       "requiredStages": [],
2026-06-13T11:05:52.9585580Z       "stages": {
2026-06-13T11:05:52.9585690Z         "doc": {
2026-06-13T11:05:52.9585813Z           "complete": false,
2026-06-13T11:05:52.9585929Z           "evidence": []
2026-06-13T11:05:52.9586048Z         },
2026-06-13T11:05:52.9586156Z         "impl": {
2026-06-13T11:05:52.9586285Z           "complete": false,
2026-06-13T11:05:52.9586412Z           "evidence": []
2026-06-13T11:05:52.9586520Z         },
2026-06-13T11:05:52.9586645Z         "int": {
2026-06-13T11:05:52.9586764Z           "complete": false,
2026-06-13T11:05:52.9586887Z           "evidence": []
2026-06-13T11:05:52.9586999Z         },
2026-06-13T11:05:52.9587117Z         "unit": {
2026-06-13T11:05:52.9587242Z           "complete": false,
2026-06-13T11:05:52.9587360Z           "evidence": []
2026-06-13T11:05:52.9587478Z         }
2026-06-13T11:05:52.9587589Z       }
2026-06-13T11:05:52.9587703Z     },
2026-06-13T11:05:52.9587803Z     {
2026-06-13T11:05:52.9587938Z       "id": "REQ-PAIR-3",
2026-06-13T11:05:52.9588123Z       "title": "Fetch current pairing code from any paired node",
2026-06-13T11:05:52.9588243Z       "requiredStages": [
2026-06-13T11:05:52.9588365Z         "impl",
2026-06-13T11:05:52.9588476Z         "unit"
2026-06-13T11:05:52.9588694Z       ],
2026-06-13T11:05:52.9588803Z       "stages": {
2026-06-13T11:05:52.9588918Z         "doc": {
2026-06-13T11:05:52.9589130Z           "complete": false,
2026-06-13T11:05:52.9589236Z           "evidence": []
2026-06-13T11:05:52.9589340Z         },
2026-06-13T11:05:52.9589445Z         "impl": {
2026-06-13T11:05:52.9589565Z           "complete": true,
2026-06-13T11:05:52.9589774Z           "evidence": [
2026-06-13T11:05:52.9589884Z             {
2026-06-13T11:05:52.9590036Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9590142Z               "line": 2534
2026-06-13T11:05:52.9590251Z             },
2026-06-13T11:05:52.9590351Z             {
2026-06-13T11:05:52.9590500Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9590609Z               "line": 2603
2026-06-13T11:05:52.9590713Z             },
2026-06-13T11:05:52.9590829Z             {
2026-06-13T11:05:52.9590961Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9591082Z               "line": 2839
2026-06-13T11:05:52.9591190Z             }
2026-06-13T11:05:52.9591300Z           ]
2026-06-13T11:05:52.9591411Z         },
2026-06-13T11:05:52.9591515Z         "int": {
2026-06-13T11:05:52.9591637Z           "complete": false,
2026-06-13T11:05:52.9591752Z           "evidence": []
2026-06-13T11:05:52.9591867Z         },
2026-06-13T11:05:52.9591971Z         "unit": {
2026-06-13T11:05:52.9592096Z           "complete": true,
2026-06-13T11:05:52.9592200Z           "evidence": [
2026-06-13T11:05:52.9592314Z             {
2026-06-13T11:05:52.9592443Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9592552Z               "line": 7546
2026-06-13T11:05:52.9592658Z             },
2026-06-13T11:05:52.9592763Z             {
2026-06-13T11:05:52.9592896Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9593012Z               "line": 7761
2026-06-13T11:05:52.9593130Z             },
2026-06-13T11:05:52.9593230Z             {
2026-06-13T11:05:52.9593355Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9593478Z               "line": 8360
2026-06-13T11:05:52.9593583Z             },
2026-06-13T11:05:52.9593689Z             {
2026-06-13T11:05:52.9593816Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9593939Z               "line": 8379
2026-06-13T11:05:52.9594048Z             },
2026-06-13T11:05:52.9594162Z             {
2026-06-13T11:05:52.9594300Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9594405Z               "line": 8403
2026-06-13T11:05:52.9594509Z             },
2026-06-13T11:05:52.9594610Z             {
2026-06-13T11:05:52.9594738Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9594861Z               "line": 8422
2026-06-13T11:05:52.9594972Z             },
2026-06-13T11:05:52.9595081Z             {
2026-06-13T11:05:52.9595206Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9595335Z               "line": 8435
2026-06-13T11:05:52.9595439Z             },
2026-06-13T11:05:52.9595554Z             {
2026-06-13T11:05:52.9595687Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9595801Z               "line": 8444
2026-06-13T11:05:52.9595912Z             }
2026-06-13T11:05:52.9596016Z           ]
2026-06-13T11:05:52.9596130Z         }
2026-06-13T11:05:52.9596237Z       }
2026-06-13T11:05:52.9596354Z     },
2026-06-13T11:05:52.9596470Z     {
2026-06-13T11:05:52.9596585Z       "id": "REQ-PAIR-4",
2026-06-13T11:05:52.9596740Z       "title": "Subnet naming on first pairing",
2026-06-13T11:05:52.9596864Z       "requiredStages": [
2026-06-13T11:05:52.9596986Z         "impl",
2026-06-13T11:05:52.9597085Z         "unit"
2026-06-13T11:05:52.9597195Z       ],
2026-06-13T11:05:52.9597315Z       "stages": {
2026-06-13T11:05:52.9597419Z         "doc": {
2026-06-13T11:05:52.9597544Z           "complete": false,
2026-06-13T11:05:52.9597648Z           "evidence": []
2026-06-13T11:05:52.9597763Z         },
2026-06-13T11:05:52.9597868Z         "impl": {
2026-06-13T11:05:52.9597991Z           "complete": true,
2026-06-13T11:05:52.9598207Z           "evidence": [
2026-06-13T11:05:52.9598311Z             {
2026-06-13T11:05:52.9598465Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-13T11:05:52.9598569Z               "line": 174
2026-06-13T11:05:52.9598688Z             }
2026-06-13T11:05:52.9598789Z           ]
2026-06-13T11:05:52.9599041Z         },
2026-06-13T11:05:52.9599151Z         "int": {
2026-06-13T11:05:52.9599268Z           "complete": false,
2026-06-13T11:05:52.9599392Z           "evidence": []
2026-06-13T11:05:52.9599497Z         },
2026-06-13T11:05:52.9599604Z         "unit": {
2026-06-13T11:05:52.9599719Z           "complete": true,
2026-06-13T11:05:52.9599830Z           "evidence": [
2026-06-13T11:05:52.9599947Z             {
2026-06-13T11:05:52.9600106Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9600225Z               "line": 1294
2026-06-13T11:05:52.9600334Z             }
2026-06-13T11:05:52.9600449Z           ]
2026-06-13T11:05:52.9600553Z         }
2026-06-13T11:05:52.9600664Z       }
2026-06-13T11:05:52.9600773Z     },
2026-06-13T11:05:52.9600878Z     {
2026-06-13T11:05:52.9601003Z       "id": "REQ-PAIR-5",
2026-06-13T11:05:52.9601332Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-13T11:05:52.9601459Z       "requiredStages": [
2026-06-13T11:05:52.9601569Z         "impl",
2026-06-13T11:05:52.9601685Z         "unit",
2026-06-13T11:05:52.9601797Z         "int"
2026-06-13T11:05:52.9601894Z       ],
2026-06-13T11:05:52.9602000Z       "stages": {
2026-06-13T11:05:52.9602103Z         "doc": {
2026-06-13T11:05:52.9602226Z           "complete": false,
2026-06-13T11:05:52.9602341Z           "evidence": []
2026-06-13T11:05:52.9602446Z         },
2026-06-13T11:05:52.9602569Z         "impl": {
2026-06-13T11:05:52.9602680Z           "complete": true,
2026-06-13T11:05:52.9602798Z           "evidence": [
2026-06-13T11:05:52.9602913Z             {
2026-06-13T11:05:52.9603085Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9603189Z               "line": 44
2026-06-13T11:05:52.9603309Z             },
2026-06-13T11:05:52.9603427Z             {
2026-06-13T11:05:52.9603576Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9603704Z               "line": 96
2026-06-13T11:05:52.9603819Z             },
2026-06-13T11:05:52.9603920Z             {
2026-06-13T11:05:52.9604071Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9604192Z               "line": 107
2026-06-13T11:05:52.9604301Z             },
2026-06-13T11:05:52.9604405Z             {
2026-06-13T11:05:52.9604557Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9604674Z               "line": 124
2026-06-13T11:05:52.9604783Z             },
2026-06-13T11:05:52.9604893Z             {
2026-06-13T11:05:52.9605050Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9605175Z               "line": 155
2026-06-13T11:05:52.9605275Z             },
2026-06-13T11:05:52.9605398Z             {
2026-06-13T11:05:52.9605537Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9605660Z               "line": 195
2026-06-13T11:05:52.9605771Z             },
2026-06-13T11:05:52.9605895Z             {
2026-06-13T11:05:52.9606061Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9606181Z               "line": 251
2026-06-13T11:05:52.9606290Z             },
2026-06-13T11:05:52.9606410Z             {
2026-06-13T11:05:52.9606590Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T11:05:52.9606715Z               "line": 33
2026-06-13T11:05:52.9606820Z             },
2026-06-13T11:05:52.9606929Z             {
2026-06-13T11:05:52.9607098Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T11:05:52.9607224Z               "line": 45
2026-06-13T11:05:52.9607448Z             },
2026-06-13T11:05:52.9607565Z             {
2026-06-13T11:05:52.9607727Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T11:05:52.9607837Z               "line": 59
2026-06-13T11:05:52.9607955Z             },
2026-06-13T11:05:52.9608062Z             {
2026-06-13T11:05:52.9608232Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9608471Z               "line": 376
2026-06-13T11:05:52.9608594Z             }
2026-06-13T11:05:52.9608705Z           ]
2026-06-13T11:05:52.9608805Z         },
2026-06-13T11:05:52.9608928Z         "int": {
2026-06-13T11:05:52.9609129Z           "complete": true,
2026-06-13T11:05:52.9609252Z           "evidence": [
2026-06-13T11:05:52.9609354Z             {
2026-06-13T11:05:52.9609515Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9609631Z               "line": 792
2026-06-13T11:05:52.9609740Z             },
2026-06-13T11:05:52.9609838Z             {
2026-06-13T11:05:52.9609991Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9610103Z               "line": 342
2026-06-13T11:05:52.9610202Z             }
2026-06-13T11:05:52.9610308Z           ]
2026-06-13T11:05:52.9610428Z         },
2026-06-13T11:05:52.9610536Z         "unit": {
2026-06-13T11:05:52.9610657Z           "complete": true,
2026-06-13T11:05:52.9610766Z           "evidence": [
2026-06-13T11:05:52.9610880Z             {
2026-06-13T11:05:52.9611024Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9611151Z               "line": 293
2026-06-13T11:05:52.9611262Z             },
2026-06-13T11:05:52.9611371Z             {
2026-06-13T11:05:52.9611528Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9611634Z               "line": 304
2026-06-13T11:05:52.9611753Z             },
2026-06-13T11:05:52.9611853Z             {
2026-06-13T11:05:52.9612001Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9612124Z               "line": 406
2026-06-13T11:05:52.9612235Z             },
2026-06-13T11:05:52.9612348Z             {
2026-06-13T11:05:52.9612512Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T11:05:52.9612635Z               "line": 72
2026-06-13T11:05:52.9612743Z             },
2026-06-13T11:05:52.9612863Z             {
2026-06-13T11:05:52.9613034Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T11:05:52.9613149Z               "line": 82
2026-06-13T11:05:52.9613263Z             },
2026-06-13T11:05:52.9613367Z             {
2026-06-13T11:05:52.9613541Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T11:05:52.9613659Z               "line": 100
2026-06-13T11:05:52.9613769Z             },
2026-06-13T11:05:52.9613884Z             {
2026-06-13T11:05:52.9614050Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T11:05:52.9614170Z               "line": 110
2026-06-13T11:05:52.9614289Z             },
2026-06-13T11:05:52.9614403Z             {
2026-06-13T11:05:52.9614574Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-13T11:05:52.9614689Z               "line": 125
2026-06-13T11:05:52.9614810Z             },
2026-06-13T11:05:52.9614917Z             {
2026-06-13T11:05:52.9615074Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9615192Z               "line": 1044
2026-06-13T11:05:52.9615306Z             },
2026-06-13T11:05:52.9615425Z             {
2026-06-13T11:05:52.9615572Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9615696Z               "line": 1110
2026-06-13T11:05:52.9615802Z             },
2026-06-13T11:05:52.9615920Z             {
2026-06-13T11:05:52.9616074Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9616193Z               "line": 1357
2026-06-13T11:05:52.9616311Z             }
2026-06-13T11:05:52.9616422Z           ]
2026-06-13T11:05:52.9616650Z         }
2026-06-13T11:05:52.9616760Z       }
2026-06-13T11:05:52.9621545Z     },
2026-06-13T11:05:52.9621711Z     {
2026-06-13T11:05:52.9621851Z       "id": "REQ-PAIR-6",
2026-06-13T11:05:52.9622171Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-13T11:05:52.9622457Z       "requiredStages": [
2026-06-13T11:05:52.9622584Z         "impl",
2026-06-13T11:05:52.9622689Z         "unit"
2026-06-13T11:05:52.9622805Z       ],
2026-06-13T11:05:52.9622904Z       "stages": {
2026-06-13T11:05:52.9623014Z         "doc": {
2026-06-13T11:05:52.9623148Z           "complete": false,
2026-06-13T11:05:52.9623265Z           "evidence": []
2026-06-13T11:05:52.9623375Z         },
2026-06-13T11:05:52.9623485Z         "impl": {
2026-06-13T11:05:52.9623618Z           "complete": true,
2026-06-13T11:05:52.9623733Z           "evidence": [
2026-06-13T11:05:52.9623853Z             {
2026-06-13T11:05:52.9623999Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9624124Z               "line": 2603
2026-06-13T11:05:52.9624233Z             },
2026-06-13T11:05:52.9624338Z             {
2026-06-13T11:05:52.9624477Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9624590Z               "line": 2839
2026-06-13T11:05:52.9624697Z             },
2026-06-13T11:05:52.9624801Z             {
2026-06-13T11:05:52.9624949Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.9625069Z               "line": 18
2026-06-13T11:05:52.9625167Z             },
2026-06-13T11:05:52.9625282Z             {
2026-06-13T11:05:52.9625421Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.9625539Z               "line": 49
2026-06-13T11:05:52.9625658Z             },
2026-06-13T11:05:52.9625762Z             {
2026-06-13T11:05:52.9625908Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.9626028Z               "line": 163
2026-06-13T11:05:52.9626142Z             }
2026-06-13T11:05:52.9626252Z           ]
2026-06-13T11:05:52.9626367Z         },
2026-06-13T11:05:52.9626480Z         "int": {
2026-06-13T11:05:52.9626600Z           "complete": false,
2026-06-13T11:05:52.9626719Z           "evidence": []
2026-06-13T11:05:52.9626823Z         },
2026-06-13T11:05:52.9626930Z         "unit": {
2026-06-13T11:05:52.9627039Z           "complete": true,
2026-06-13T11:05:52.9627162Z           "evidence": [
2026-06-13T11:05:52.9627268Z             {
2026-06-13T11:05:52.9627402Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9627520Z               "line": 8457
2026-06-13T11:05:52.9627626Z             },
2026-06-13T11:05:52.9627744Z             {
2026-06-13T11:05:52.9627865Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9627983Z               "line": 8474
2026-06-13T11:05:52.9628087Z             },
2026-06-13T11:05:52.9628189Z             {
2026-06-13T11:05:52.9628330Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.9628444Z               "line": 228
2026-06-13T11:05:52.9628563Z             },
2026-06-13T11:05:52.9628671Z             {
2026-06-13T11:05:52.9628809Z               "path": "crates/spt/src/elevation.rs",
2026-06-13T11:05:52.9628929Z               "line": 237
2026-06-13T11:05:52.9629118Z             }
2026-06-13T11:05:52.9629234Z           ]
2026-06-13T11:05:52.9629333Z         }
2026-06-13T11:05:52.9629438Z       }
2026-06-13T11:05:52.9629544Z     },
2026-06-13T11:05:52.9629662Z     {
2026-06-13T11:05:52.9629787Z       "id": "REQ-PAIR-7",
2026-06-13T11:05:52.9629977Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-13T11:05:52.9630106Z       "requiredStages": [],
2026-06-13T11:05:52.9630220Z       "stages": {
2026-06-13T11:05:52.9630325Z         "doc": {
2026-06-13T11:05:52.9630446Z           "complete": false,
2026-06-13T11:05:52.9630563Z           "evidence": []
2026-06-13T11:05:52.9630669Z         },
2026-06-13T11:05:52.9630775Z         "impl": {
2026-06-13T11:05:52.9630902Z           "complete": false,
2026-06-13T11:05:52.9631125Z           "evidence": []
2026-06-13T11:05:52.9631233Z         },
2026-06-13T11:05:52.9631342Z         "int": {
2026-06-13T11:05:52.9631462Z           "complete": false,
2026-06-13T11:05:52.9631581Z           "evidence": []
2026-06-13T11:05:52.9631686Z         },
2026-06-13T11:05:52.9631806Z         "unit": {
2026-06-13T11:05:52.9632005Z           "complete": false,
2026-06-13T11:05:52.9632129Z           "evidence": []
2026-06-13T11:05:52.9632234Z         }
2026-06-13T11:05:52.9632344Z       }
2026-06-13T11:05:52.9632458Z     },
2026-06-13T11:05:52.9632563Z     {
2026-06-13T11:05:52.9632683Z       "id": "REQ-PAIR-8",
2026-06-13T11:05:52.9634182Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-13T11:05:52.9634332Z       "requiredStages": [
2026-06-13T11:05:52.9634450Z         "impl",
2026-06-13T11:05:52.9634555Z         "unit"
2026-06-13T11:05:52.9634656Z       ],
2026-06-13T11:05:52.9634770Z       "stages": {
2026-06-13T11:05:52.9634889Z         "doc": {
2026-06-13T11:05:52.9635013Z           "complete": false,
2026-06-13T11:05:52.9635137Z           "evidence": []
2026-06-13T11:05:52.9635248Z         },
2026-06-13T11:05:52.9635352Z         "impl": {
2026-06-13T11:05:52.9635480Z           "complete": true,
2026-06-13T11:05:52.9635595Z           "evidence": [
2026-06-13T11:05:52.9635709Z             {
2026-06-13T11:05:52.9635852Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9635977Z               "line": 577
2026-06-13T11:05:52.9636075Z             },
2026-06-13T11:05:52.9636180Z             {
2026-06-13T11:05:52.9636350Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T11:05:52.9636468Z               "line": 22
2026-06-13T11:05:52.9636589Z             },
2026-06-13T11:05:52.9636702Z             {
2026-06-13T11:05:52.9636864Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T11:05:52.9636989Z               "line": 76
2026-06-13T11:05:52.9637098Z             },
2026-06-13T11:05:52.9637218Z             {
2026-06-13T11:05:52.9637374Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T11:05:52.9637490Z               "line": 127
2026-06-13T11:05:52.9637603Z             }
2026-06-13T11:05:52.9637708Z           ]
2026-06-13T11:05:52.9637809Z         },
2026-06-13T11:05:52.9637923Z         "int": {
2026-06-13T11:05:52.9638051Z           "complete": false,
2026-06-13T11:05:52.9638172Z           "evidence": []
2026-06-13T11:05:52.9638275Z         },
2026-06-13T11:05:52.9638395Z         "unit": {
2026-06-13T11:05:52.9638515Z           "complete": true,
2026-06-13T11:05:52.9638634Z           "evidence": [
2026-06-13T11:05:52.9638744Z             {
2026-06-13T11:05:52.9638905Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T11:05:52.9639099Z               "line": 183
2026-06-13T11:05:52.9639217Z             },
2026-06-13T11:05:52.9639331Z             {
2026-06-13T11:05:52.9639479Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T11:05:52.9639602Z               "line": 195
2026-06-13T11:05:52.9639708Z             },
2026-06-13T11:05:52.9639817Z             {
2026-06-13T11:05:52.9639965Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T11:05:52.9640090Z               "line": 211
2026-06-13T11:05:52.9640194Z             },
2026-06-13T11:05:52.9640303Z             {
2026-06-13T11:05:52.9640456Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-13T11:05:52.9640575Z               "line": 227
2026-06-13T11:05:52.9640686Z             }
2026-06-13T11:05:52.9640794Z           ]
2026-06-13T11:05:52.9640909Z         }
2026-06-13T11:05:52.9641119Z       }
2026-06-13T11:05:52.9641224Z     },
2026-06-13T11:05:52.9641345Z     {
2026-06-13T11:05:52.9641462Z       "id": "REQ-PRES-1",
2026-06-13T11:05:52.9642851Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-13T11:05:52.9643071Z       "requiredStages": [
2026-06-13T11:05:52.9643185Z         "impl",
2026-06-13T11:05:52.9643295Z         "unit",
2026-06-13T11:05:52.9643404Z         "int"
2026-06-13T11:05:52.9643509Z       ],
2026-06-13T11:05:52.9643620Z       "stages": {
2026-06-13T11:05:52.9643719Z         "doc": {
2026-06-13T11:05:52.9643844Z           "complete": true,
2026-06-13T11:05:52.9643967Z           "evidence": [
2026-06-13T11:05:52.9644082Z             {
2026-06-13T11:05:52.9644202Z               "path": "docs/DEFERRED.md",
2026-06-13T11:05:52.9644324Z               "line": 11
2026-06-13T11:05:52.9644428Z             }
2026-06-13T11:05:52.9644539Z           ]
2026-06-13T11:05:52.9644649Z         },
2026-06-13T11:05:52.9644757Z         "impl": {
2026-06-13T11:05:52.9644882Z           "complete": true,
2026-06-13T11:05:52.9644996Z           "evidence": [
2026-06-13T11:05:52.9645105Z             {
2026-06-13T11:05:52.9645244Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9645368Z               "line": 515
2026-06-13T11:05:52.9645473Z             },
2026-06-13T11:05:52.9645578Z             {
2026-06-13T11:05:52.9645735Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9645855Z               "line": 567
2026-06-13T11:05:52.9645969Z             },
2026-06-13T11:05:52.9646079Z             {
2026-06-13T11:05:52.9646222Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9646341Z               "line": 188
2026-06-13T11:05:52.9646447Z             },
2026-06-13T11:05:52.9646560Z             {
2026-06-13T11:05:52.9646702Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9646821Z               "line": 214
2026-06-13T11:05:52.9646919Z             },
2026-06-13T11:05:52.9647028Z             {
2026-06-13T11:05:52.9647172Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T11:05:52.9647276Z               "line": 28
2026-06-13T11:05:52.9647396Z             },
2026-06-13T11:05:52.9647501Z             {
2026-06-13T11:05:52.9647653Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T11:05:52.9647773Z               "line": 105
2026-06-13T11:05:52.9647878Z             },
2026-06-13T11:05:52.9647992Z             {
2026-06-13T11:05:52.9648131Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T11:05:52.9648254Z               "line": 161
2026-06-13T11:05:52.9648365Z             },
2026-06-13T11:05:52.9648474Z             {
2026-06-13T11:05:52.9648626Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T11:05:52.9648737Z               "line": 180
2026-06-13T11:05:52.9648850Z             },
2026-06-13T11:05:52.9649037Z             {
2026-06-13T11:05:52.9649194Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9649309Z               "line": 415
2026-06-13T11:05:52.9649418Z             },
2026-06-13T11:05:52.9649536Z             {
2026-06-13T11:05:52.9649693Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9649815Z               "line": 289
2026-06-13T11:05:52.9649914Z             },
2026-06-13T11:05:52.9650021Z             {
2026-06-13T11:05:52.9650172Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9650292Z               "line": 336
2026-06-13T11:05:52.9650397Z             },
2026-06-13T11:05:52.9650501Z             {
2026-06-13T11:05:52.9650778Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9650892Z               "line": 362
2026-06-13T11:05:52.9651007Z             },
2026-06-13T11:05:52.9651107Z             {
2026-06-13T11:05:52.9651256Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9651378Z               "line": 100
2026-06-13T11:05:52.9651575Z             }
2026-06-13T11:05:52.9651693Z           ]
2026-06-13T11:05:52.9651789Z         },
2026-06-13T11:05:52.9651905Z         "int": {
2026-06-13T11:05:52.9652026Z           "complete": true,
2026-06-13T11:05:52.9652149Z           "evidence": [
2026-06-13T11:05:52.9652265Z             {
2026-06-13T11:05:52.9652419Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9652539Z               "line": 557
2026-06-13T11:05:52.9652649Z             },
2026-06-13T11:05:52.9652763Z             {
2026-06-13T11:05:52.9652911Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9653034Z               "line": 677
2026-06-13T11:05:52.9653150Z             },
2026-06-13T11:05:52.9653259Z             {
2026-06-13T11:05:52.9653416Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9653532Z               "line": 1070
2026-06-13T11:05:52.9653640Z             }
2026-06-13T11:05:52.9653754Z           ]
2026-06-13T11:05:52.9653870Z         },
2026-06-13T11:05:52.9653984Z         "unit": {
2026-06-13T11:05:52.9654104Z           "complete": true,
2026-06-13T11:05:52.9654222Z           "evidence": [
2026-06-13T11:05:52.9654327Z             {
2026-06-13T11:05:52.9654476Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:52.9654593Z               "line": 659
2026-06-13T11:05:52.9654709Z             },
2026-06-13T11:05:52.9654824Z             {
2026-06-13T11:05:52.9654970Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T11:05:52.9655089Z               "line": 238
2026-06-13T11:05:52.9655199Z             },
2026-06-13T11:05:52.9655317Z             {
2026-06-13T11:05:52.9655466Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T11:05:52.9655584Z               "line": 269
2026-06-13T11:05:52.9655699Z             },
2026-06-13T11:05:52.9655809Z             {
2026-06-13T11:05:52.9655966Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T11:05:52.9656081Z               "line": 305
2026-06-13T11:05:52.9656200Z             },
2026-06-13T11:05:52.9656314Z             {
2026-06-13T11:05:52.9656462Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-13T11:05:52.9656581Z               "line": 336
2026-06-13T11:05:52.9656692Z             },
2026-06-13T11:05:52.9656810Z             {
2026-06-13T11:05:52.9656963Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9657087Z               "line": 1165
2026-06-13T11:05:52.9657205Z             },
2026-06-13T11:05:52.9657314Z             {
2026-06-13T11:05:52.9657470Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9657593Z               "line": 1131
2026-06-13T11:05:52.9657704Z             }
2026-06-13T11:05:52.9657813Z           ]
2026-06-13T11:05:52.9657923Z         }
2026-06-13T11:05:52.9658033Z       }
2026-06-13T11:05:52.9658137Z     },
2026-06-13T11:05:52.9658251Z     {
2026-06-13T11:05:52.9658371Z       "id": "REQ-REACH-1",
2026-06-13T11:05:52.9658557Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-13T11:05:52.9658681Z       "requiredStages": [
2026-06-13T11:05:52.9658805Z         "impl",
2026-06-13T11:05:52.9658920Z         "unit",
2026-06-13T11:05:52.9659115Z         "int"
2026-06-13T11:05:52.9659225Z       ],
2026-06-13T11:05:52.9659334Z       "stages": {
2026-06-13T11:05:52.9659453Z         "doc": {
2026-06-13T11:05:52.9659569Z           "complete": false,
2026-06-13T11:05:52.9659691Z           "evidence": []
2026-06-13T11:05:52.9659806Z         },
2026-06-13T11:05:52.9659922Z         "impl": {
2026-06-13T11:05:52.9660044Z           "complete": true,
2026-06-13T11:05:52.9660263Z           "evidence": [
2026-06-13T11:05:52.9660380Z             {
2026-06-13T11:05:52.9660528Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-13T11:05:52.9660648Z               "line": 140
2026-06-13T11:05:52.9660770Z             },
2026-06-13T11:05:52.9660876Z             {
2026-06-13T11:05:52.9661123Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T11:05:52.9661239Z               "line": 76
2026-06-13T11:05:52.9661352Z             },
2026-06-13T11:05:52.9661457Z             {
2026-06-13T11:05:52.9661605Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T11:05:52.9661724Z               "line": 222
2026-06-13T11:05:52.9661830Z             },
2026-06-13T11:05:52.9661943Z             {
2026-06-13T11:05:52.9662082Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T11:05:52.9662202Z               "line": 422
2026-06-13T11:05:52.9662311Z             },
2026-06-13T11:05:52.9662422Z             {
2026-06-13T11:05:52.9662582Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T11:05:52.9662696Z               "line": 529
2026-06-13T11:05:52.9662810Z             },
2026-06-13T11:05:52.9662918Z             {
2026-06-13T11:05:52.9663061Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-13T11:05:52.9663176Z               "line": 39
2026-06-13T11:05:52.9663299Z             },
2026-06-13T11:05:52.9663404Z             {
2026-06-13T11:05:52.9663548Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.9663671Z               "line": 229
2026-06-13T11:05:52.9663772Z             },
2026-06-13T11:05:52.9663891Z             {
2026-06-13T11:05:52.9664020Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-13T11:05:52.9664143Z               "line": 88
2026-06-13T11:05:52.9664243Z             },
2026-06-13T11:05:52.9664349Z             {
2026-06-13T11:05:52.9664501Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-13T11:05:52.9664615Z               "line": 98
2026-06-13T11:05:52.9664741Z             },
2026-06-13T11:05:52.9664849Z             {
2026-06-13T11:05:52.9665007Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9665134Z               "line": 210
2026-06-13T11:05:52.9665240Z             }
2026-06-13T11:05:52.9665361Z           ]
2026-06-13T11:05:52.9665472Z         },
2026-06-13T11:05:52.9665591Z         "int": {
2026-06-13T11:05:52.9665712Z           "complete": true,
2026-06-13T11:05:52.9665825Z           "evidence": [
2026-06-13T11:05:52.9665945Z             {
2026-06-13T11:05:52.9666102Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9666220Z               "line": 415
2026-06-13T11:05:52.9666336Z             },
2026-06-13T11:05:52.9666445Z             {
2026-06-13T11:05:52.9666598Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9666727Z               "line": 514
2026-06-13T11:05:52.9666841Z             },
2026-06-13T11:05:52.9666952Z             {
2026-06-13T11:05:52.9667113Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9667228Z               "line": 903
2026-06-13T11:05:52.9667342Z             },
2026-06-13T11:05:52.9667456Z             {
2026-06-13T11:05:52.9667605Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9667732Z               "line": 1198
2026-06-13T11:05:52.9667841Z             }
2026-06-13T11:05:52.9667955Z           ]
2026-06-13T11:05:52.9668063Z         },
2026-06-13T11:05:52.9668177Z         "unit": {
2026-06-13T11:05:52.9668307Z           "complete": true,
2026-06-13T11:05:52.9668420Z           "evidence": [
2026-06-13T11:05:52.9668531Z             {
2026-06-13T11:05:52.9668673Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T11:05:52.9668797Z               "line": 639
2026-06-13T11:05:52.9668908Z             },
2026-06-13T11:05:52.9669112Z             {
2026-06-13T11:05:52.9669256Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-13T11:05:52.9669475Z               "line": 660
2026-06-13T11:05:52.9669599Z             },
2026-06-13T11:05:52.9669708Z             {
2026-06-13T11:05:52.9669857Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-13T11:05:52.9669975Z               "line": 391
2026-06-13T11:05:52.9670090Z             },
2026-06-13T11:05:52.9670205Z             {
2026-06-13T11:05:52.9670444Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-13T11:05:52.9670566Z               "line": 93
2026-06-13T11:05:52.9670670Z             },
2026-06-13T11:05:52.9670785Z             {
2026-06-13T11:05:52.9670926Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-13T11:05:52.9671054Z               "line": 224
2026-06-13T11:05:52.9671165Z             },
2026-06-13T11:05:52.9671274Z             {
2026-06-13T11:05:52.9671422Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-13T11:05:52.9671532Z               "line": 96
2026-06-13T11:05:52.9671659Z             },
2026-06-13T11:05:52.9671765Z             {
2026-06-13T11:05:52.9671917Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-13T11:05:52.9672037Z               "line": 146
2026-06-13T11:05:52.9672146Z             },
2026-06-13T11:05:52.9672260Z             {
2026-06-13T11:05:52.9672400Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:52.9672522Z               "line": 502
2026-06-13T11:05:52.9672633Z             },
2026-06-13T11:05:52.9672743Z             {
2026-06-13T11:05:52.9672890Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-13T11:05:52.9673006Z               "line": 118
2026-06-13T11:05:52.9673124Z             },
2026-06-13T11:05:52.9673228Z             {
2026-06-13T11:05:52.9673370Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-13T11:05:52.9673488Z               "line": 148
2026-06-13T11:05:52.9673606Z             },
2026-06-13T11:05:52.9673726Z             {
2026-06-13T11:05:52.9673873Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9673999Z               "line": 681
2026-06-13T11:05:52.9674108Z             }
2026-06-13T11:05:52.9674226Z           ]
2026-06-13T11:05:52.9674332Z         }
2026-06-13T11:05:52.9674451Z       }
2026-06-13T11:05:52.9674560Z     },
2026-06-13T11:05:52.9674666Z     {
2026-06-13T11:05:52.9674794Z       "id": "REQ-REACH-2",
2026-06-13T11:05:52.9674981Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-13T11:05:52.9675113Z       "requiredStages": [],
2026-06-13T11:05:52.9675229Z       "stages": {
2026-06-13T11:05:52.9675347Z         "doc": {
2026-06-13T11:05:52.9675471Z           "complete": false,
2026-06-13T11:05:52.9675587Z           "evidence": []
2026-06-13T11:05:52.9675704Z         },
2026-06-13T11:05:52.9675810Z         "impl": {
2026-06-13T11:05:52.9675940Z           "complete": false,
2026-06-13T11:05:52.9676047Z           "evidence": []
2026-06-13T11:05:52.9676166Z         },
2026-06-13T11:05:52.9676281Z         "int": {
2026-06-13T11:05:52.9676399Z           "complete": false,
2026-06-13T11:05:52.9676533Z           "evidence": []
2026-06-13T11:05:52.9676639Z         },
2026-06-13T11:05:52.9676748Z         "unit": {
2026-06-13T11:05:52.9676868Z           "complete": false,
2026-06-13T11:05:52.9676987Z           "evidence": []
2026-06-13T11:05:52.9677100Z         }
2026-06-13T11:05:52.9677207Z       }
2026-06-13T11:05:52.9677311Z     },
2026-06-13T11:05:52.9677420Z     {
2026-06-13T11:05:52.9677531Z       "id": "REQ-REL-1",
2026-06-13T11:05:52.9677944Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-13T11:05:52.9678064Z       "requiredStages": [
2026-06-13T11:05:52.9678175Z         "doc",
2026-06-13T11:05:52.9678278Z         "impl"
2026-06-13T11:05:52.9678396Z       ],
2026-06-13T11:05:52.9678492Z       "stages": {
2026-06-13T11:05:52.9678609Z         "doc": {
2026-06-13T11:05:52.9678723Z           "complete": true,
2026-06-13T11:05:52.9678843Z           "evidence": [
2026-06-13T11:05:52.9679129Z             {
2026-06-13T11:05:52.9679416Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-13T11:05:52.9679534Z               "line": 3
2026-06-13T11:05:52.9679629Z             }
2026-06-13T11:05:52.9679740Z           ]
2026-06-13T11:05:52.9679859Z         },
2026-06-13T11:05:52.9680064Z         "impl": {
2026-06-13T11:05:52.9680187Z           "complete": true,
2026-06-13T11:05:52.9680306Z           "evidence": [
2026-06-13T11:05:52.9680417Z             {
2026-06-13T11:05:52.9680559Z               "path": ".github/workflows/docs-publish.yml",
2026-06-13T11:05:52.9680680Z               "line": 11
2026-06-13T11:05:52.9680788Z             },
2026-06-13T11:05:52.9680898Z             {
2026-06-13T11:05:52.9681047Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.9681155Z               "line": 265
2026-06-13T11:05:52.9681263Z             }
2026-06-13T11:05:52.9681369Z           ]
2026-06-13T11:05:52.9681481Z         },
2026-06-13T11:05:52.9681600Z         "int": {
2026-06-13T11:05:52.9681734Z           "complete": false,
2026-06-13T11:05:52.9681857Z           "evidence": []
2026-06-13T11:05:52.9681963Z         },
2026-06-13T11:05:52.9682077Z         "unit": {
2026-06-13T11:05:52.9682186Z           "complete": false,
2026-06-13T11:05:52.9682302Z           "evidence": []
2026-06-13T11:05:52.9682421Z         }
2026-06-13T11:05:52.9682529Z       }
2026-06-13T11:05:52.9682635Z     },
2026-06-13T11:05:52.9682744Z     {
2026-06-13T11:05:52.9682868Z       "id": "REQ-REL-2",
2026-06-13T11:05:52.9683383Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-13T11:05:52.9683508Z       "requiredStages": [
2026-06-13T11:05:52.9683627Z         "impl",
2026-06-13T11:05:52.9683726Z         "int"
2026-06-13T11:05:52.9683840Z       ],
2026-06-13T11:05:52.9683950Z       "stages": {
2026-06-13T11:05:52.9684057Z         "doc": {
2026-06-13T11:05:52.9684171Z           "complete": true,
2026-06-13T11:05:52.9684291Z           "evidence": [
2026-06-13T11:05:52.9684405Z             {
2026-06-13T11:05:52.9684544Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-13T11:05:52.9684654Z               "line": 6
2026-06-13T11:05:52.9684767Z             }
2026-06-13T11:05:52.9684883Z           ]
2026-06-13T11:05:52.9684992Z         },
2026-06-13T11:05:52.9685101Z         "impl": {
2026-06-13T11:05:52.9685226Z           "complete": true,
2026-06-13T11:05:52.9685340Z           "evidence": [
2026-06-13T11:05:52.9685449Z             {
2026-06-13T11:05:52.9685597Z               "path": ".github/workflows/release.yml",
2026-06-13T11:05:52.9685711Z               "line": 16
2026-06-13T11:05:52.9685817Z             },
2026-06-13T11:05:52.9685931Z             {
2026-06-13T11:05:52.9686074Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.9686185Z               "line": 352
2026-06-13T11:05:52.9686293Z             },
2026-06-13T11:05:52.9686404Z             {
2026-06-13T11:05:52.9686547Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.9686655Z               "line": 426
2026-06-13T11:05:52.9686760Z             },
2026-06-13T11:05:52.9686866Z             {
2026-06-13T11:05:52.9687003Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.9687118Z               "line": 588
2026-06-13T11:05:52.9687223Z             },
2026-06-13T11:05:52.9687332Z             {
2026-06-13T11:05:52.9687471Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.9687589Z               "line": 720
2026-06-13T11:05:52.9687699Z             }
2026-06-13T11:05:52.9687809Z           ]
2026-06-13T11:05:52.9687913Z         },
2026-06-13T11:05:52.9688024Z         "int": {
2026-06-13T11:05:52.9688138Z           "complete": true,
2026-06-13T11:05:52.9688247Z           "evidence": [
2026-06-13T11:05:52.9688363Z             {
2026-06-13T11:05:52.9688523Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-13T11:05:52.9688768Z               "line": 13
2026-06-13T11:05:52.9688890Z             }
2026-06-13T11:05:52.9689085Z           ]
2026-06-13T11:05:52.9689193Z         },
2026-06-13T11:05:52.9689303Z         "unit": {
2026-06-13T11:05:52.9689428Z           "complete": false,
2026-06-13T11:05:52.9689555Z           "evidence": []
2026-06-13T11:05:52.9689766Z         }
2026-06-13T11:05:52.9689875Z       }
2026-06-13T11:05:52.9689981Z     },
2026-06-13T11:05:52.9690090Z     {
2026-06-13T11:05:52.9690204Z       "id": "REQ-REL-3",
2026-06-13T11:05:52.9690681Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-13T11:05:52.9690809Z       "requiredStages": [
2026-06-13T11:05:52.9690915Z         "impl",
2026-06-13T11:05:52.9691038Z         "unit"
2026-06-13T11:05:52.9691133Z       ],
2026-06-13T11:05:52.9691254Z       "stages": {
2026-06-13T11:05:52.9691348Z         "doc": {
2026-06-13T11:05:52.9691472Z           "complete": false,
2026-06-13T11:05:52.9691593Z           "evidence": []
2026-06-13T11:05:52.9691700Z         },
2026-06-13T11:05:52.9691819Z         "impl": {
2026-06-13T11:05:52.9691934Z           "complete": true,
2026-06-13T11:05:52.9692055Z           "evidence": [
2026-06-13T11:05:52.9692165Z             {
2026-06-13T11:05:52.9692328Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:52.9692445Z               "line": 237
2026-06-13T11:05:52.9692557Z             },
2026-06-13T11:05:52.9692666Z             {
2026-06-13T11:05:52.9692818Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:52.9692938Z               "line": 289
2026-06-13T11:05:52.9693047Z             },
2026-06-13T11:05:52.9693162Z             {
2026-06-13T11:05:52.9693309Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.9693424Z               "line": 329
2026-06-13T11:05:52.9693539Z             },
2026-06-13T11:05:52.9693652Z             {
2026-06-13T11:05:52.9693797Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.9693920Z               "line": 353
2026-06-13T11:05:52.9694034Z             },
2026-06-13T11:05:52.9694150Z             {
2026-06-13T11:05:52.9694287Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:52.9694414Z               "line": 394
2026-06-13T11:05:52.9694524Z             }
2026-06-13T11:05:52.9694636Z           ]
2026-06-13T11:05:52.9694751Z         },
2026-06-13T11:05:52.9694861Z         "int": {
2026-06-13T11:05:52.9694988Z           "complete": false,
2026-06-13T11:05:52.9695099Z           "evidence": []
2026-06-13T11:05:52.9695214Z         },
2026-06-13T11:05:52.9695322Z         "unit": {
2026-06-13T11:05:52.9695448Z           "complete": true,
2026-06-13T11:05:52.9695557Z           "evidence": [
2026-06-13T11:05:52.9695676Z             {
2026-06-13T11:05:52.9695833Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:52.9695952Z               "line": 992
2026-06-13T11:05:52.9696072Z             },
2026-06-13T11:05:52.9696186Z             {
2026-06-13T11:05:52.9696339Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:52.9696463Z               "line": 1051
2026-06-13T11:05:52.9696568Z             }
2026-06-13T11:05:52.9696683Z           ]
2026-06-13T11:05:52.9696792Z         }
2026-06-13T11:05:52.9696910Z       }
2026-06-13T11:05:52.9697017Z     },
2026-06-13T11:05:52.9697135Z     {
2026-06-13T11:05:52.9697262Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-13T11:05:52.9697478Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-13T11:05:52.9697605Z       "requiredStages": [
2026-06-13T11:05:52.9697716Z         "impl",
2026-06-13T11:05:52.9697830Z         "unit"
2026-06-13T11:05:52.9697935Z       ],
2026-06-13T11:05:52.9698055Z       "stages": {
2026-06-13T11:05:52.9698168Z         "doc": {
2026-06-13T11:05:52.9698293Z           "complete": false,
2026-06-13T11:05:52.9698411Z           "evidence": []
2026-06-13T11:05:52.9698617Z         },
2026-06-13T11:05:52.9698740Z         "impl": {
2026-06-13T11:05:52.9698855Z           "complete": true,
2026-06-13T11:05:52.9699055Z           "evidence": [
2026-06-13T11:05:52.9699160Z             {
2026-06-13T11:05:52.9699323Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9699541Z               "line": 18
2026-06-13T11:05:52.9699650Z             },
2026-06-13T11:05:52.9699767Z             {
2026-06-13T11:05:52.9699906Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9700030Z               "line": 35
2026-06-13T11:05:52.9700148Z             },
2026-06-13T11:05:52.9700259Z             {
2026-06-13T11:05:52.9700411Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9700526Z               "line": 72
2026-06-13T11:05:52.9700640Z             }
2026-06-13T11:05:52.9700749Z           ]
2026-06-13T11:05:52.9700860Z         },
2026-06-13T11:05:52.9700979Z         "int": {
2026-06-13T11:05:52.9701102Z           "complete": false,
2026-06-13T11:05:52.9701223Z           "evidence": []
2026-06-13T11:05:52.9701327Z         },
2026-06-13T11:05:52.9701446Z         "unit": {
2026-06-13T11:05:52.9701561Z           "complete": true,
2026-06-13T11:05:52.9701679Z           "evidence": [
2026-06-13T11:05:52.9701795Z             {
2026-06-13T11:05:52.9701941Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9702061Z               "line": 214
2026-06-13T11:05:52.9702167Z             },
2026-06-13T11:05:52.9702284Z             {
2026-06-13T11:05:52.9702422Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9702550Z               "line": 231
2026-06-13T11:05:52.9702663Z             },
2026-06-13T11:05:52.9702773Z             {
2026-06-13T11:05:52.9702920Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9703035Z               "line": 240
2026-06-13T11:05:52.9703150Z             }
2026-06-13T11:05:52.9703254Z           ]
2026-06-13T11:05:52.9703374Z         }
2026-06-13T11:05:52.9703474Z       }
2026-06-13T11:05:52.9703574Z     },
2026-06-13T11:05:52.9703689Z     {
2026-06-13T11:05:52.9703812Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-13T11:05:52.9704003Z       "title": "Hostable endpoint-types capability declaration",
2026-06-13T11:05:52.9704118Z       "requiredStages": [
2026-06-13T11:05:52.9704241Z         "impl",
2026-06-13T11:05:52.9704352Z         "unit"
2026-06-13T11:05:52.9704461Z       ],
2026-06-13T11:05:52.9704580Z       "stages": {
2026-06-13T11:05:52.9704681Z         "doc": {
2026-06-13T11:05:52.9704799Z           "complete": false,
2026-06-13T11:05:52.9704908Z           "evidence": []
2026-06-13T11:05:52.9705027Z         },
2026-06-13T11:05:52.9705144Z         "impl": {
2026-06-13T11:05:52.9705263Z           "complete": true,
2026-06-13T11:05:52.9705383Z           "evidence": [
2026-06-13T11:05:52.9705483Z             {
2026-06-13T11:05:52.9709449Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9709625Z               "line": 406
2026-06-13T11:05:52.9709740Z             }
2026-06-13T11:05:52.9709851Z           ]
2026-06-13T11:05:52.9709954Z         },
2026-06-13T11:05:52.9710062Z         "int": {
2026-06-13T11:05:52.9710187Z           "complete": false,
2026-06-13T11:05:52.9710308Z           "evidence": []
2026-06-13T11:05:52.9710408Z         },
2026-06-13T11:05:52.9710528Z         "unit": {
2026-06-13T11:05:52.9710646Z           "complete": true,
2026-06-13T11:05:52.9710766Z           "evidence": [
2026-06-13T11:05:52.9710871Z             {
2026-06-13T11:05:52.9711023Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9711144Z               "line": 720
2026-06-13T11:05:52.9711253Z             }
2026-06-13T11:05:52.9711357Z           ]
2026-06-13T11:05:52.9711463Z         }
2026-06-13T11:05:52.9711568Z       }
2026-06-13T11:05:52.9711667Z     },
2026-06-13T11:05:52.9711768Z     {
2026-06-13T11:05:52.9711892Z       "id": "REQ-SEAM-HISTORY",
2026-06-13T11:05:52.9712098Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-13T11:05:52.9712350Z       "requiredStages": [
2026-06-13T11:05:52.9712455Z         "impl",
2026-06-13T11:05:52.9712559Z         "unit",
2026-06-13T11:05:52.9712660Z         "int"
2026-06-13T11:05:52.9712765Z       ],
2026-06-13T11:05:52.9712873Z       "stages": {
2026-06-13T11:05:52.9713073Z         "doc": {
2026-06-13T11:05:52.9713190Z           "complete": false,
2026-06-13T11:05:52.9713309Z           "evidence": []
2026-06-13T11:05:52.9713415Z         },
2026-06-13T11:05:52.9713528Z         "impl": {
2026-06-13T11:05:52.9713643Z           "complete": true,
2026-06-13T11:05:52.9713763Z           "evidence": [
2026-06-13T11:05:52.9713867Z             {
2026-06-13T11:05:52.9714011Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T11:05:52.9714115Z               "line": 24
2026-06-13T11:05:52.9714210Z             },
2026-06-13T11:05:52.9714321Z             {
2026-06-13T11:05:52.9714467Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T11:05:52.9714573Z               "line": 22
2026-06-13T11:05:52.9714673Z             }
2026-06-13T11:05:52.9714787Z           ]
2026-06-13T11:05:52.9714893Z         },
2026-06-13T11:05:52.9715007Z         "int": {
2026-06-13T11:05:52.9715126Z           "complete": true,
2026-06-13T11:05:52.9715236Z           "evidence": [
2026-06-13T11:05:52.9715336Z             {
2026-06-13T11:05:52.9715486Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T11:05:52.9715587Z               "line": 260
2026-06-13T11:05:52.9715690Z             }
2026-06-13T11:05:52.9715799Z           ]
2026-06-13T11:05:52.9715910Z         },
2026-06-13T11:05:52.9716015Z         "unit": {
2026-06-13T11:05:52.9716132Z           "complete": true,
2026-06-13T11:05:52.9716243Z           "evidence": [
2026-06-13T11:05:52.9716353Z             {
2026-06-13T11:05:52.9716491Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T11:05:52.9716606Z               "line": 167
2026-06-13T11:05:52.9716715Z             },
2026-06-13T11:05:52.9716815Z             {
2026-06-13T11:05:52.9716958Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T11:05:52.9717068Z               "line": 196
2026-06-13T11:05:52.9717169Z             },
2026-06-13T11:05:52.9717273Z             {
2026-06-13T11:05:52.9717401Z               "path": "crates/spt-live/src/echo.rs",
2026-06-13T11:05:52.9717522Z               "line": 216
2026-06-13T11:05:52.9717625Z             },
2026-06-13T11:05:52.9717730Z             {
2026-06-13T11:05:52.9717874Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T11:05:52.9717993Z               "line": 199
2026-06-13T11:05:52.9718104Z             },
2026-06-13T11:05:52.9718203Z             {
2026-06-13T11:05:52.9718349Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T11:05:52.9718464Z               "line": 219
2026-06-13T11:05:52.9718570Z             },
2026-06-13T11:05:52.9718673Z             {
2026-06-13T11:05:52.9718822Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T11:05:52.9718941Z               "line": 244
2026-06-13T11:05:52.9719108Z             },
2026-06-13T11:05:52.9719213Z             {
2026-06-13T11:05:52.9719351Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T11:05:52.9719466Z               "line": 269
2026-06-13T11:05:52.9719571Z             },
2026-06-13T11:05:52.9719685Z             {
2026-06-13T11:05:52.9719823Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T11:05:52.9719923Z               "line": 290
2026-06-13T11:05:52.9720029Z             },
2026-06-13T11:05:52.9720129Z             {
2026-06-13T11:05:52.9720271Z               "path": "crates/spt-live/src/history.rs",
2026-06-13T11:05:52.9720382Z               "line": 317
2026-06-13T11:05:52.9720481Z             }
2026-06-13T11:05:52.9720590Z           ]
2026-06-13T11:05:52.9720695Z         }
2026-06-13T11:05:52.9720794Z       }
2026-06-13T11:05:52.9720892Z     },
2026-06-13T11:05:52.9720993Z     {
2026-06-13T11:05:52.9721202Z       "id": "REQ-SEAM-INJECT",
2026-06-13T11:05:52.9721399Z       "title": "inject-input methods configurable per activity-state",
2026-06-13T11:05:52.9721517Z       "requiredStages": [
2026-06-13T11:05:52.9721622Z         "impl",
2026-06-13T11:05:52.9721718Z         "unit"
2026-06-13T11:05:52.9721822Z       ],
2026-06-13T11:05:52.9722033Z       "stages": {
2026-06-13T11:05:52.9722137Z         "doc": {
2026-06-13T11:05:52.9722256Z           "complete": false,
2026-06-13T11:05:52.9722366Z           "evidence": []
2026-06-13T11:05:52.9722466Z         },
2026-06-13T11:05:52.9722576Z         "impl": {
2026-06-13T11:05:52.9722691Z           "complete": true,
2026-06-13T11:05:52.9722790Z           "evidence": [
2026-06-13T11:05:52.9722896Z             {
2026-06-13T11:05:52.9723038Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9723152Z               "line": 19
2026-06-13T11:05:52.9723259Z             },
2026-06-13T11:05:52.9723362Z             {
2026-06-13T11:05:52.9723513Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9723628Z               "line": 111
2026-06-13T11:05:52.9723726Z             }
2026-06-13T11:05:52.9723826Z           ]
2026-06-13T11:05:52.9723932Z         },
2026-06-13T11:05:52.9724032Z         "int": {
2026-06-13T11:05:52.9724155Z           "complete": false,
2026-06-13T11:05:52.9724261Z           "evidence": []
2026-06-13T11:05:52.9724370Z         },
2026-06-13T11:05:52.9724474Z         "unit": {
2026-06-13T11:05:52.9724590Z           "complete": true,
2026-06-13T11:05:52.9724708Z           "evidence": [
2026-06-13T11:05:52.9724804Z             {
2026-06-13T11:05:52.9724947Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9725061Z               "line": 320
2026-06-13T11:05:52.9725167Z             },
2026-06-13T11:05:52.9725271Z             {
2026-06-13T11:05:52.9725414Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9725525Z               "line": 340
2026-06-13T11:05:52.9725633Z             }
2026-06-13T11:05:52.9725743Z           ]
2026-06-13T11:05:52.9725845Z         }
2026-06-13T11:05:52.9725947Z       }
2026-06-13T11:05:52.9726042Z     },
2026-06-13T11:05:52.9726147Z     {
2026-06-13T11:05:52.9726278Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-13T11:05:52.9726450Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-13T11:05:52.9726570Z       "requiredStages": [
2026-06-13T11:05:52.9726674Z         "impl",
2026-06-13T11:05:52.9726775Z         "unit"
2026-06-13T11:05:52.9726885Z       ],
2026-06-13T11:05:52.9726994Z       "stages": {
2026-06-13T11:05:52.9727100Z         "doc": {
2026-06-13T11:05:52.9727209Z           "complete": false,
2026-06-13T11:05:52.9727323Z           "evidence": []
2026-06-13T11:05:52.9727419Z         },
2026-06-13T11:05:52.9727547Z         "impl": {
2026-06-13T11:05:52.9727666Z           "complete": true,
2026-06-13T11:05:52.9727781Z           "evidence": [
2026-06-13T11:05:52.9727890Z             {
2026-06-13T11:05:52.9728034Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9728143Z               "line": 18
2026-06-13T11:05:52.9728248Z             },
2026-06-13T11:05:52.9728354Z             {
2026-06-13T11:05:52.9728486Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9728591Z               "line": 325
2026-06-13T11:05:52.9728702Z             }
2026-06-13T11:05:52.9728810Z           ]
2026-06-13T11:05:52.9728914Z         },
2026-06-13T11:05:52.9729087Z         "int": {
2026-06-13T11:05:52.9729210Z           "complete": false,
2026-06-13T11:05:52.9729325Z           "evidence": []
2026-06-13T11:05:52.9729425Z         },
2026-06-13T11:05:52.9729529Z         "unit": {
2026-06-13T11:05:52.9729645Z           "complete": true,
2026-06-13T11:05:52.9729754Z           "evidence": [
2026-06-13T11:05:52.9729854Z             {
2026-06-13T11:05:52.9729993Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9730106Z               "line": 576
2026-06-13T11:05:52.9730216Z             },
2026-06-13T11:05:52.9730435Z             {
2026-06-13T11:05:52.9730574Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9730689Z               "line": 586
2026-06-13T11:05:52.9730793Z             }
2026-06-13T11:05:52.9730898Z           ]
2026-06-13T11:05:52.9730999Z         }
2026-06-13T11:05:52.9731111Z       }
2026-06-13T11:05:52.9731307Z     },
2026-06-13T11:05:52.9731410Z     {
2026-06-13T11:05:52.9731533Z       "id": "REQ-SEAM-PSYCHE",
2026-06-13T11:05:52.9731701Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-13T11:05:52.9731824Z       "requiredStages": [
2026-06-13T11:05:52.9731930Z         "impl",
2026-06-13T11:05:52.9732044Z         "unit",
2026-06-13T11:05:52.9732153Z         "int"
2026-06-13T11:05:52.9732259Z       ],
2026-06-13T11:05:52.9732373Z       "stages": {
2026-06-13T11:05:52.9732478Z         "doc": {
2026-06-13T11:05:52.9732602Z           "complete": false,
2026-06-13T11:05:52.9732712Z           "evidence": []
2026-06-13T11:05:52.9732821Z         },
2026-06-13T11:05:52.9732936Z         "impl": {
2026-06-13T11:05:52.9733050Z           "complete": true,
2026-06-13T11:05:52.9733161Z           "evidence": [
2026-06-13T11:05:52.9733265Z             {
2026-06-13T11:05:52.9733407Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-13T11:05:52.9733518Z               "line": 19
2026-06-13T11:05:52.9733626Z             },
2026-06-13T11:05:52.9733737Z             {
2026-06-13T11:05:52.9733871Z               "path": "crates/spt/src/api/live.rs",
2026-06-13T11:05:52.9733983Z               "line": 12
2026-06-13T11:05:52.9734088Z             },
2026-06-13T11:05:52.9734193Z             {
2026-06-13T11:05:52.9734333Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9734449Z               "line": 225
2026-06-13T11:05:52.9734564Z             }
2026-06-13T11:05:52.9734667Z           ]
2026-06-13T11:05:52.9734773Z         },
2026-06-13T11:05:52.9734878Z         "int": {
2026-06-13T11:05:52.9734996Z           "complete": true,
2026-06-13T11:05:52.9735112Z           "evidence": [
2026-06-13T11:05:52.9735217Z             {
2026-06-13T11:05:52.9735369Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T11:05:52.9735479Z               "line": 259
2026-06-13T11:05:52.9735583Z             }
2026-06-13T11:05:52.9735688Z           ]
2026-06-13T11:05:52.9735799Z         },
2026-06-13T11:05:52.9735908Z         "unit": {
2026-06-13T11:05:52.9736028Z           "complete": true,
2026-06-13T11:05:52.9736146Z           "evidence": [
2026-06-13T11:05:52.9736251Z             {
2026-06-13T11:05:52.9736390Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-13T11:05:52.9736503Z               "line": 161
2026-06-13T11:05:52.9736612Z             },
2026-06-13T11:05:52.9736717Z             {
2026-06-13T11:05:52.9736858Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-13T11:05:52.9736972Z               "line": 168
2026-06-13T11:05:52.9737078Z             },
2026-06-13T11:05:52.9737182Z             {
2026-06-13T11:05:52.9737325Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-13T11:05:52.9737440Z               "line": 191
2026-06-13T11:05:52.9737544Z             },
2026-06-13T11:05:52.9737650Z             {
2026-06-13T11:05:52.9737793Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-13T11:05:52.9737906Z               "line": 106
2026-06-13T11:05:52.9738022Z             },
2026-06-13T11:05:52.9738126Z             {
2026-06-13T11:05:52.9738265Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-13T11:05:52.9738379Z               "line": 137
2026-06-13T11:05:52.9738488Z             },
2026-06-13T11:05:52.9738599Z             {
2026-06-13T11:05:52.9738731Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-13T11:05:52.9738851Z               "line": 161
2026-06-13T11:05:52.9739041Z             }
2026-06-13T11:05:52.9739151Z           ]
2026-06-13T11:05:52.9739253Z         }
2026-06-13T11:05:52.9739361Z       }
2026-06-13T11:05:52.9739465Z     },
2026-06-13T11:05:52.9739671Z     {
2026-06-13T11:05:52.9739794Z       "id": "REQ-SEAM-RESUME",
2026-06-13T11:05:52.9740004Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-13T11:05:52.9740123Z       "requiredStages": [
2026-06-13T11:05:52.9740234Z         "impl",
2026-06-13T11:05:52.9740338Z         "unit"
2026-06-13T11:05:52.9740534Z       ],
2026-06-13T11:05:52.9740648Z       "stages": {
2026-06-13T11:05:52.9740752Z         "doc": {
2026-06-13T11:05:52.9740868Z           "complete": false,
2026-06-13T11:05:52.9740986Z           "evidence": []
2026-06-13T11:05:52.9741086Z         },
2026-06-13T11:05:52.9741188Z         "impl": {
2026-06-13T11:05:52.9741305Z           "complete": true,
2026-06-13T11:05:52.9741415Z           "evidence": [
2026-06-13T11:05:52.9741521Z             {
2026-06-13T11:05:52.9741663Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T11:05:52.9741771Z               "line": 19
2026-06-13T11:05:52.9741876Z             }
2026-06-13T11:05:52.9741989Z           ]
2026-06-13T11:05:52.9742089Z         },
2026-06-13T11:05:52.9742190Z         "int": {
2026-06-13T11:05:52.9742313Z           "complete": false,
2026-06-13T11:05:52.9742422Z           "evidence": []
2026-06-13T11:05:52.9742519Z         },
2026-06-13T11:05:52.9742618Z         "unit": {
2026-06-13T11:05:52.9742737Z           "complete": true,
2026-06-13T11:05:52.9742852Z           "evidence": [
2026-06-13T11:05:52.9742957Z             {
2026-06-13T11:05:52.9743101Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T11:05:52.9743214Z               "line": 193
2026-06-13T11:05:52.9743314Z             },
2026-06-13T11:05:52.9743416Z             {
2026-06-13T11:05:52.9743553Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T11:05:52.9743662Z               "line": 215
2026-06-13T11:05:52.9743763Z             },
2026-06-13T11:05:52.9743867Z             {
2026-06-13T11:05:52.9744006Z               "path": "crates/spt-live/src/resume.rs",
2026-06-13T11:05:52.9744116Z               "line": 236
2026-06-13T11:05:52.9744220Z             }
2026-06-13T11:05:52.9744321Z           ]
2026-06-13T11:05:52.9744427Z         }
2026-06-13T11:05:52.9744525Z       }
2026-06-13T11:05:52.9744629Z     },
2026-06-13T11:05:52.9744729Z     {
2026-06-13T11:05:52.9744852Z       "id": "REQ-SEAM-SPAWN",
2026-06-13T11:05:52.9744970Z       "title": "spawn-session seam",
2026-06-13T11:05:52.9745095Z       "requiredStages": [
2026-06-13T11:05:52.9745194Z         "impl",
2026-06-13T11:05:52.9745304Z         "unit"
2026-06-13T11:05:52.9745410Z       ],
2026-06-13T11:05:52.9745504Z       "stages": {
2026-06-13T11:05:52.9745604Z         "doc": {
2026-06-13T11:05:52.9745724Z           "complete": false,
2026-06-13T11:05:52.9745838Z           "evidence": []
2026-06-13T11:05:52.9745938Z         },
2026-06-13T11:05:52.9746049Z         "impl": {
2026-06-13T11:05:52.9746162Z           "complete": true,
2026-06-13T11:05:52.9746268Z           "evidence": [
2026-06-13T11:05:52.9746378Z             {
2026-06-13T11:05:52.9746530Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.9746631Z               "line": 20
2026-06-13T11:05:52.9746739Z             }
2026-06-13T11:05:52.9746839Z           ]
2026-06-13T11:05:52.9746941Z         },
2026-06-13T11:05:52.9747045Z         "int": {
2026-06-13T11:05:52.9747163Z           "complete": false,
2026-06-13T11:05:52.9747277Z           "evidence": []
2026-06-13T11:05:52.9747394Z         },
2026-06-13T11:05:52.9747508Z         "unit": {
2026-06-13T11:05:52.9747624Z           "complete": true,
2026-06-13T11:05:52.9747737Z           "evidence": [
2026-06-13T11:05:52.9747842Z             {
2026-06-13T11:05:52.9748000Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.9748114Z               "line": 435
2026-06-13T11:05:52.9748225Z             },
2026-06-13T11:05:52.9748334Z             {
2026-06-13T11:05:52.9748481Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.9748601Z               "line": 442
2026-06-13T11:05:52.9748772Z             },
2026-06-13T11:05:52.9748888Z             {
2026-06-13T11:05:52.9749087Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.9749207Z               "line": 452
2026-06-13T11:05:52.9749310Z             },
2026-06-13T11:05:52.9749411Z             {
2026-06-13T11:05:52.9749564Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.9749770Z               "line": 458
2026-06-13T11:05:52.9749884Z             },
2026-06-13T11:05:52.9749992Z             {
2026-06-13T11:05:52.9750125Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.9750245Z               "line": 483
2026-06-13T11:05:52.9750349Z             },
2026-06-13T11:05:52.9750454Z             {
2026-06-13T11:05:52.9750597Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-13T11:05:52.9750716Z               "line": 520
2026-06-13T11:05:52.9750822Z             }
2026-06-13T11:05:52.9750922Z           ]
2026-06-13T11:05:52.9751031Z         }
2026-06-13T11:05:52.9751137Z       }
2026-06-13T11:05:52.9751251Z     },
2026-06-13T11:05:52.9751360Z     {
2026-06-13T11:05:52.9751489Z       "id": "REQ-SEAM-UPDATE",
2026-06-13T11:05:52.9751680Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-13T11:05:52.9751809Z       "requiredStages": [
2026-06-13T11:05:52.9751932Z         "impl",
2026-06-13T11:05:52.9752038Z         "unit"
2026-06-13T11:05:52.9752151Z       ],
2026-06-13T11:05:52.9752260Z       "stages": {
2026-06-13T11:05:52.9752375Z         "doc": {
2026-06-13T11:05:52.9752497Z           "complete": false,
2026-06-13T11:05:52.9753174Z           "evidence": []
2026-06-13T11:05:52.9753298Z         },
2026-06-13T11:05:52.9753408Z         "impl": {
2026-06-13T11:05:52.9753536Z           "complete": true,
2026-06-13T11:05:52.9753652Z           "evidence": [
2026-06-13T11:05:52.9753765Z             {
2026-06-13T11:05:52.9753932Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:52.9754056Z               "line": 28
2026-06-13T11:05:52.9754156Z             },
2026-06-13T11:05:52.9754261Z             {
2026-06-13T11:05:52.9754446Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:52.9754581Z               "line": 83
2026-06-13T11:05:52.9754695Z             }
2026-06-13T11:05:52.9754809Z           ]
2026-06-13T11:05:52.9754910Z         },
2026-06-13T11:05:52.9755024Z         "int": {
2026-06-13T11:05:52.9755146Z           "complete": false,
2026-06-13T11:05:52.9755257Z           "evidence": []
2026-06-13T11:05:52.9755355Z         },
2026-06-13T11:05:52.9755458Z         "unit": {
2026-06-13T11:05:52.9755574Z           "complete": true,
2026-06-13T11:05:52.9755693Z           "evidence": [
2026-06-13T11:05:52.9755806Z             {
2026-06-13T11:05:52.9755961Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:52.9756079Z               "line": 286
2026-06-13T11:05:52.9756179Z             },
2026-06-13T11:05:52.9756289Z             {
2026-06-13T11:05:52.9756450Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:52.9756556Z               "line": 297
2026-06-13T11:05:52.9756670Z             }
2026-06-13T11:05:52.9756780Z           ]
2026-06-13T11:05:52.9756895Z         }
2026-06-13T11:05:52.9756998Z       }
2026-06-13T11:05:52.9757099Z     },
2026-06-13T11:05:52.9757210Z     {
2026-06-13T11:05:52.9757332Z       "id": "REQ-SEC-1",
2026-06-13T11:05:52.9757760Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-13T11:05:52.9757885Z       "requiredStages": [
2026-06-13T11:05:52.9758002Z         "impl",
2026-06-13T11:05:52.9758112Z         "unit"
2026-06-13T11:05:52.9758217Z       ],
2026-06-13T11:05:52.9758335Z       "stages": {
2026-06-13T11:05:52.9758446Z         "doc": {
2026-06-13T11:05:52.9758575Z           "complete": false,
2026-06-13T11:05:52.9758693Z           "evidence": []
2026-06-13T11:05:52.9758913Z         },
2026-06-13T11:05:52.9759152Z         "impl": {
2026-06-13T11:05:52.9759275Z           "complete": true,
2026-06-13T11:05:52.9759390Z           "evidence": [
2026-06-13T11:05:52.9759500Z             {
2026-06-13T11:05:52.9759695Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T11:05:52.9759819Z               "line": 84
2026-06-13T11:05:52.9760120Z             },
2026-06-13T11:05:52.9760224Z             {
2026-06-13T11:05:52.9760392Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T11:05:52.9760519Z               "line": 114
2026-06-13T11:05:52.9760623Z             },
2026-06-13T11:05:52.9760734Z             {
2026-06-13T11:05:52.9760880Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T11:05:52.9760996Z               "line": 128
2026-06-13T11:05:52.9761091Z             },
2026-06-13T11:05:52.9761205Z             {
2026-06-13T11:05:52.9761382Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9761514Z               "line": 108
2026-06-13T11:05:52.9761620Z             },
2026-06-13T11:05:52.9761730Z             {
2026-06-13T11:05:52.9761872Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9761993Z               "line": 129
2026-06-13T11:05:52.9762106Z             },
2026-06-13T11:05:52.9762216Z             {
2026-06-13T11:05:52.9762355Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9762473Z               "line": 142
2026-06-13T11:05:52.9762574Z             },
2026-06-13T11:05:52.9762689Z             {
2026-06-13T11:05:52.9762825Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9762935Z               "line": 208
2026-06-13T11:05:52.9763038Z             },
2026-06-13T11:05:52.9763152Z             {
2026-06-13T11:05:52.9763295Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9763400Z               "line": 234
2026-06-13T11:05:52.9763514Z             },
2026-06-13T11:05:52.9763610Z             {
2026-06-13T11:05:52.9763796Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9763911Z               "line": 4288
2026-06-13T11:05:52.9764020Z             }
2026-06-13T11:05:52.9764124Z           ]
2026-06-13T11:05:52.9764231Z         },
2026-06-13T11:05:52.9764344Z         "int": {
2026-06-13T11:05:52.9764463Z           "complete": false,
2026-06-13T11:05:52.9764578Z           "evidence": []
2026-06-13T11:05:52.9764692Z         },
2026-06-13T11:05:52.9764802Z         "unit": {
2026-06-13T11:05:52.9764921Z           "complete": true,
2026-06-13T11:05:52.9765040Z           "evidence": [
2026-06-13T11:05:52.9765151Z             {
2026-06-13T11:05:52.9765292Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T11:05:52.9765412Z               "line": 140
2026-06-13T11:05:52.9765519Z             },
2026-06-13T11:05:52.9765626Z             {
2026-06-13T11:05:52.9765778Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T11:05:52.9765896Z               "line": 192
2026-06-13T11:05:52.9766014Z             },
2026-06-13T11:05:52.9766119Z             {
2026-06-13T11:05:52.9766272Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-13T11:05:52.9766391Z               "line": 233
2026-06-13T11:05:52.9766501Z             },
2026-06-13T11:05:52.9766615Z             {
2026-06-13T11:05:52.9766764Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-13T11:05:52.9766887Z               "line": 140
2026-06-13T11:05:52.9767001Z             },
2026-06-13T11:05:52.9767107Z             {
2026-06-13T11:05:52.9767254Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9767369Z               "line": 246
2026-06-13T11:05:52.9767493Z             },
2026-06-13T11:05:52.9767602Z             {
2026-06-13T11:05:52.9767751Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9767874Z               "line": 276
2026-06-13T11:05:52.9767979Z             },
2026-06-13T11:05:52.9768094Z             {
2026-06-13T11:05:52.9768240Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9768463Z               "line": 309
2026-06-13T11:05:52.9768571Z             },
2026-06-13T11:05:52.9768686Z             {
2026-06-13T11:05:52.9768839Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9769049Z               "line": 328
2026-06-13T11:05:52.9769272Z             },
2026-06-13T11:05:52.9769383Z             {
2026-06-13T11:05:52.9769539Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9769655Z               "line": 361
2026-06-13T11:05:52.9769773Z             },
2026-06-13T11:05:52.9769892Z             {
2026-06-13T11:05:52.9770036Z               "path": "crates/spt-store/src/access.rs",
2026-06-13T11:05:52.9770155Z               "line": 385
2026-06-13T11:05:52.9770265Z             },
2026-06-13T11:05:52.9770379Z             {
2026-06-13T11:05:52.9770517Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9770637Z               "line": 6091
2026-06-13T11:05:52.9770755Z             }
2026-06-13T11:05:52.9770861Z           ]
2026-06-13T11:05:52.9770976Z         }
2026-06-13T11:05:52.9771079Z       }
2026-06-13T11:05:52.9771192Z     },
2026-06-13T11:05:52.9771304Z     {
2026-06-13T11:05:52.9771431Z       "id": "REQ-SHELL-1",
2026-06-13T11:05:52.9772380Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-13T11:05:52.9772505Z       "requiredStages": [
2026-06-13T11:05:52.9772619Z         "impl",
2026-06-13T11:05:52.9772733Z         "unit",
2026-06-13T11:05:52.9772853Z         "int"
2026-06-13T11:05:52.9772962Z       ],
2026-06-13T11:05:52.9773076Z       "stages": {
2026-06-13T11:05:52.9773197Z         "doc": {
2026-06-13T11:05:52.9773324Z           "complete": false,
2026-06-13T11:05:52.9773447Z           "evidence": []
2026-06-13T11:05:52.9773557Z         },
2026-06-13T11:05:52.9773674Z         "impl": {
2026-06-13T11:05:52.9773802Z           "complete": true,
2026-06-13T11:05:52.9773918Z           "evidence": [
2026-06-13T11:05:52.9774027Z             {
2026-06-13T11:05:52.9774185Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T11:05:52.9774308Z               "line": 94
2026-06-13T11:05:52.9774418Z             },
2026-06-13T11:05:52.9774528Z             {
2026-06-13T11:05:52.9774685Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T11:05:52.9774800Z               "line": 121
2026-06-13T11:05:52.9774909Z             },
2026-06-13T11:05:52.9775018Z             {
2026-06-13T11:05:52.9775176Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T11:05:52.9775290Z               "line": 27
2026-06-13T11:05:52.9775401Z             },
2026-06-13T11:05:52.9775514Z             {
2026-06-13T11:05:52.9775662Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T11:05:52.9775787Z               "line": 52
2026-06-13T11:05:52.9775896Z             },
2026-06-13T11:05:52.9776007Z             {
2026-06-13T11:05:52.9776153Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T11:05:52.9776276Z               "line": 132
2026-06-13T11:05:52.9776381Z             },
2026-06-13T11:05:52.9776480Z             {
2026-06-13T11:05:52.9776621Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T11:05:52.9776732Z               "line": 164
2026-06-13T11:05:52.9776851Z             },
2026-06-13T11:05:52.9776951Z             {
2026-06-13T11:05:52.9777104Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9777223Z               "line": 22
2026-06-13T11:05:52.9777319Z             },
2026-06-13T11:05:52.9777419Z             {
2026-06-13T11:05:52.9777605Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9777719Z               "line": 65
2026-06-13T11:05:52.9777929Z             },
2026-06-13T11:05:52.9778044Z             {
2026-06-13T11:05:52.9778200Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9778316Z               "line": 76
2026-06-13T11:05:52.9778434Z             },
2026-06-13T11:05:52.9778544Z             {
2026-06-13T11:05:52.9778702Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9778890Z               "line": 150
2026-06-13T11:05:52.9779094Z             },
2026-06-13T11:05:52.9779208Z             {
2026-06-13T11:05:52.9779352Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9779474Z               "line": 209
2026-06-13T11:05:52.9779590Z             },
2026-06-13T11:05:52.9779705Z             {
2026-06-13T11:05:52.9779856Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9779971Z               "line": 246
2026-06-13T11:05:52.9780090Z             },
2026-06-13T11:05:52.9780201Z             {
2026-06-13T11:05:52.9780362Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9780476Z               "line": 267
2026-06-13T11:05:52.9780591Z             },
2026-06-13T11:05:52.9780715Z             {
2026-06-13T11:05:52.9780859Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9780982Z               "line": 280
2026-06-13T11:05:52.9781091Z             },
2026-06-13T11:05:52.9781207Z             {
2026-06-13T11:05:52.9781349Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.9781469Z               "line": 217
2026-06-13T11:05:52.9781597Z             },
2026-06-13T11:05:52.9781705Z             {
2026-06-13T11:05:52.9781859Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.9781978Z               "line": 233
2026-06-13T11:05:52.9782091Z             },
2026-06-13T11:05:52.9782193Z             {
2026-06-13T11:05:52.9782349Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.9782464Z               "line": 41
2026-06-13T11:05:52.9782579Z             },
2026-06-13T11:05:52.9782692Z             {
2026-06-13T11:05:52.9782841Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.9782959Z               "line": 222
2026-06-13T11:05:52.9783070Z             },
2026-06-13T11:05:52.9783184Z             {
2026-06-13T11:05:52.9783336Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-13T11:05:52.9783447Z               "line": 156
2026-06-13T11:05:52.9783564Z             },
2026-06-13T11:05:52.9783670Z             {
2026-06-13T11:05:52.9783814Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T11:05:52.9783927Z               "line": 311
2026-06-13T11:05:52.9784041Z             },
2026-06-13T11:05:52.9784159Z             {
2026-06-13T11:05:52.9784291Z               "path": "crates/spt/src/api/mod.rs",
2026-06-13T11:05:52.9784416Z               "line": 363
2026-06-13T11:05:52.9784525Z             },
2026-06-13T11:05:52.9784639Z             {
2026-06-13T11:05:52.9784792Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9784911Z               "line": 261
2026-06-13T11:05:52.9785027Z             },
2026-06-13T11:05:52.9785131Z             {
2026-06-13T11:05:52.9785268Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9785384Z               "line": 4905
2026-06-13T11:05:52.9785498Z             },
2026-06-13T11:05:52.9785612Z             {
2026-06-13T11:05:52.9785741Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9785860Z               "line": 5055
2026-06-13T11:05:52.9785971Z             },
2026-06-13T11:05:52.9786084Z             {
2026-06-13T11:05:52.9786218Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9786338Z               "line": 5092
2026-06-13T11:05:52.9786451Z             }
2026-06-13T11:05:52.9786557Z           ]
2026-06-13T11:05:52.9786672Z         },
2026-06-13T11:05:52.9786784Z         "int": {
2026-06-13T11:05:52.9786908Z           "complete": true,
2026-06-13T11:05:52.9787125Z           "evidence": [
2026-06-13T11:05:52.9787239Z             {
2026-06-13T11:05:52.9787406Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9787520Z               "line": 707
2026-06-13T11:05:52.9787636Z             },
2026-06-13T11:05:52.9787744Z             {
2026-06-13T11:05:52.9787903Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-13T11:05:52.9788102Z               "line": 8
2026-06-13T11:05:52.9788218Z             },
2026-06-13T11:05:52.9788331Z             {
2026-06-13T11:05:52.9788484Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-13T11:05:52.9788604Z               "line": 49
2026-06-13T11:05:52.9788713Z             },
2026-06-13T11:05:52.9788823Z             {
2026-06-13T11:05:52.9789056Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9789172Z               "line": 708
2026-06-13T11:05:52.9789290Z             },
2026-06-13T11:05:52.9789393Z             {
2026-06-13T11:05:52.9789555Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9789668Z               "line": 1118
2026-06-13T11:05:52.9792776Z             },
2026-06-13T11:05:52.9792918Z             {
2026-06-13T11:05:52.9793105Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-13T11:05:52.9793228Z               "line": 17
2026-06-13T11:05:52.9793339Z             },
2026-06-13T11:05:52.9793462Z             {
2026-06-13T11:05:52.9793615Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-13T11:05:52.9793735Z               "line": 14
2026-06-13T11:05:52.9793844Z             }
2026-06-13T11:05:52.9793950Z           ]
2026-06-13T11:05:52.9794059Z         },
2026-06-13T11:05:52.9794164Z         "unit": {
2026-06-13T11:05:52.9794289Z           "complete": true,
2026-06-13T11:05:52.9794392Z           "evidence": [
2026-06-13T11:05:52.9794496Z             {
2026-06-13T11:05:52.9794653Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T11:05:52.9794775Z               "line": 234
2026-06-13T11:05:52.9794889Z             },
2026-06-13T11:05:52.9794990Z             {
2026-06-13T11:05:52.9795147Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T11:05:52.9795248Z               "line": 267
2026-06-13T11:05:52.9795357Z             },
2026-06-13T11:05:52.9795461Z             {
2026-06-13T11:05:52.9795620Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T11:05:52.9795734Z               "line": 307
2026-06-13T11:05:52.9795833Z             },
2026-06-13T11:05:52.9795944Z             {
2026-06-13T11:05:52.9796095Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9796216Z               "line": 568
2026-06-13T11:05:52.9796320Z             },
2026-06-13T11:05:52.9796425Z             {
2026-06-13T11:05:52.9796569Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9796677Z               "line": 641
2026-06-13T11:05:52.9796783Z             },
2026-06-13T11:05:52.9796889Z             {
2026-06-13T11:05:52.9797035Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9797151Z               "line": 785
2026-06-13T11:05:52.9797255Z             },
2026-06-13T11:05:52.9797363Z             {
2026-06-13T11:05:52.9797506Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:52.9797628Z               "line": 595
2026-06-13T11:05:52.9797737Z             },
2026-06-13T11:05:52.9797838Z             {
2026-06-13T11:05:52.9797985Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-13T11:05:52.9798095Z               "line": 399
2026-06-13T11:05:52.9798205Z             },
2026-06-13T11:05:52.9798309Z             {
2026-06-13T11:05:52.9798449Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9798553Z               "line": 6560
2026-06-13T11:05:52.9798657Z             },
2026-06-13T11:05:52.9798768Z             {
2026-06-13T11:05:52.9798901Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9799093Z               "line": 6882
2026-06-13T11:05:52.9799349Z             },
2026-06-13T11:05:52.9799479Z             {
2026-06-13T11:05:52.9799612Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9799722Z               "line": 7299
2026-06-13T11:05:52.9799831Z             }
2026-06-13T11:05:52.9799935Z           ]
2026-06-13T11:05:52.9800139Z         }
2026-06-13T11:05:52.9800247Z       }
2026-06-13T11:05:52.9800352Z     },
2026-06-13T11:05:52.9800458Z     {
2026-06-13T11:05:52.9800571Z       "id": "REQ-SHELL-2",
2026-06-13T11:05:52.9802159Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-13T11:05:52.9802275Z       "requiredStages": [
2026-06-13T11:05:52.9802379Z         "impl",
2026-06-13T11:05:52.9802479Z         "unit",
2026-06-13T11:05:52.9802594Z         "int"
2026-06-13T11:05:52.9802703Z       ],
2026-06-13T11:05:52.9802811Z       "stages": {
2026-06-13T11:05:52.9802911Z         "doc": {
2026-06-13T11:05:52.9803032Z           "complete": false,
2026-06-13T11:05:52.9803154Z           "evidence": []
2026-06-13T11:05:52.9803251Z         },
2026-06-13T11:05:52.9803365Z         "impl": {
2026-06-13T11:05:52.9803478Z           "complete": true,
2026-06-13T11:05:52.9803589Z           "evidence": [
2026-06-13T11:05:52.9803699Z             {
2026-06-13T11:05:52.9803856Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:52.9803980Z               "line": 214
2026-06-13T11:05:52.9804089Z             },
2026-06-13T11:05:52.9804200Z             {
2026-06-13T11:05:52.9804356Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9804471Z               "line": 403
2026-06-13T11:05:52.9804581Z             },
2026-06-13T11:05:52.9804689Z             {
2026-06-13T11:05:52.9804839Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-13T11:05:52.9804952Z               "line": 250
2026-06-13T11:05:52.9805066Z             },
2026-06-13T11:05:52.9805171Z             {
2026-06-13T11:05:52.9805321Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:52.9805440Z               "line": 353
2026-06-13T11:05:52.9805546Z             },
2026-06-13T11:05:52.9805655Z             {
2026-06-13T11:05:52.9805803Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T11:05:52.9805922Z               "line": 30
2026-06-13T11:05:52.9806045Z             },
2026-06-13T11:05:52.9806147Z             {
2026-06-13T11:05:52.9806294Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T11:05:52.9806408Z               "line": 152
2026-06-13T11:05:52.9806518Z             },
2026-06-13T11:05:52.9806632Z             {
2026-06-13T11:05:52.9806781Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T11:05:52.9806899Z               "line": 188
2026-06-13T11:05:52.9807004Z             },
2026-06-13T11:05:52.9807110Z             {
2026-06-13T11:05:52.9807257Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T11:05:52.9807382Z               "line": 347
2026-06-13T11:05:52.9807491Z             },
2026-06-13T11:05:52.9807600Z             {
2026-06-13T11:05:52.9807749Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9807862Z               "line": 348
2026-06-13T11:05:52.9807971Z             },
2026-06-13T11:05:52.9808076Z             {
2026-06-13T11:05:52.9808226Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-13T11:05:52.9808346Z               "line": 115
2026-06-13T11:05:52.9808451Z             },
2026-06-13T11:05:52.9808555Z             {
2026-06-13T11:05:52.9808704Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9808898Z               "line": 120
2026-06-13T11:05:52.9809118Z             },
2026-06-13T11:05:52.9809232Z             {
2026-06-13T11:05:52.9809381Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9809490Z               "line": 360
2026-06-13T11:05:52.9809604Z             },
2026-06-13T11:05:52.9809804Z             {
2026-06-13T11:05:52.9809963Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9810076Z               "line": 469
2026-06-13T11:05:52.9810186Z             },
2026-06-13T11:05:52.9810297Z             {
2026-06-13T11:05:52.9810448Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9810566Z               "line": 24
2026-06-13T11:05:52.9810681Z             },
2026-06-13T11:05:52.9810788Z             {
2026-06-13T11:05:52.9810936Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9811056Z               "line": 76
2026-06-13T11:05:52.9811165Z             },
2026-06-13T11:05:52.9811276Z             {
2026-06-13T11:05:52.9811422Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9811537Z               "line": 154
2026-06-13T11:05:52.9811647Z             },
2026-06-13T11:05:52.9811751Z             {
2026-06-13T11:05:52.9811900Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9812018Z               "line": 177
2026-06-13T11:05:52.9812128Z             },
2026-06-13T11:05:52.9812234Z             {
2026-06-13T11:05:52.9812381Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9812496Z               "line": 273
2026-06-13T11:05:52.9812610Z             },
2026-06-13T11:05:52.9812715Z             {
2026-06-13T11:05:52.9812864Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9812976Z               "line": 455
2026-06-13T11:05:52.9813091Z             },
2026-06-13T11:05:52.9813203Z             {
2026-06-13T11:05:52.9813348Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9813471Z               "line": 537
2026-06-13T11:05:52.9813578Z             },
2026-06-13T11:05:52.9813686Z             {
2026-06-13T11:05:52.9813839Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-13T11:05:52.9813963Z               "line": 27
2026-06-13T11:05:52.9814067Z             },
2026-06-13T11:05:52.9814183Z             {
2026-06-13T11:05:52.9814339Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-13T11:05:52.9814450Z               "line": 43
2026-06-13T11:05:52.9814555Z             },
2026-06-13T11:05:52.9814659Z             {
2026-06-13T11:05:52.9814803Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9814916Z               "line": 325
2026-06-13T11:05:52.9815026Z             },
2026-06-13T11:05:52.9815141Z             {
2026-06-13T11:05:52.9815274Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9815394Z               "line": 1398
2026-06-13T11:05:52.9815499Z             },
2026-06-13T11:05:52.9815611Z             {
2026-06-13T11:05:52.9815731Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9815844Z               "line": 4919
2026-06-13T11:05:52.9815957Z             },
2026-06-13T11:05:52.9816063Z             {
2026-06-13T11:05:52.9816191Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9816295Z               "line": 4980
2026-06-13T11:05:52.9816396Z             },
2026-06-13T11:05:52.9816492Z             {
2026-06-13T11:05:52.9816620Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9816745Z               "line": 5008
2026-06-13T11:05:52.9816844Z             },
2026-06-13T11:05:52.9816954Z             {
2026-06-13T11:05:52.9817083Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9817197Z               "line": 5062
2026-06-13T11:05:52.9817297Z             },
2026-06-13T11:05:52.9817407Z             {
2026-06-13T11:05:52.9817531Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9817746Z               "line": 5178
2026-06-13T11:05:52.9817846Z             },
2026-06-13T11:05:52.9817942Z             {
2026-06-13T11:05:52.9818070Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9818175Z               "line": 5231
2026-06-13T11:05:52.9818286Z             },
2026-06-13T11:05:52.9818394Z             {
2026-06-13T11:05:52.9818593Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9818711Z               "line": 298
2026-06-13T11:05:52.9818814Z             },
2026-06-13T11:05:52.9818925Z             {
2026-06-13T11:05:52.9819139Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9819259Z               "line": 339
2026-06-13T11:05:52.9819369Z             }
2026-06-13T11:05:52.9819468Z           ]
2026-06-13T11:05:52.9819569Z         },
2026-06-13T11:05:52.9819669Z         "int": {
2026-06-13T11:05:52.9819787Z           "complete": true,
2026-06-13T11:05:52.9819908Z           "evidence": [
2026-06-13T11:05:52.9820007Z             {
2026-06-13T11:05:52.9820169Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9820280Z               "line": 700
2026-06-13T11:05:52.9820389Z             },
2026-06-13T11:05:52.9820489Z             {
2026-06-13T11:05:52.9820646Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9820765Z               "line": 708
2026-06-13T11:05:52.9820871Z             },
2026-06-13T11:05:52.9820970Z             {
2026-06-13T11:05:52.9821116Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9821232Z               "line": 1118
2026-06-13T11:05:52.9821334Z             },
2026-06-13T11:05:52.9821448Z             {
2026-06-13T11:05:52.9821612Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-13T11:05:52.9821725Z               "line": 18
2026-06-13T11:05:52.9821821Z             }
2026-06-13T11:05:52.9821921Z           ]
2026-06-13T11:05:52.9822035Z         },
2026-06-13T11:05:52.9822136Z         "unit": {
2026-06-13T11:05:52.9822255Z           "complete": true,
2026-06-13T11:05:52.9822359Z           "evidence": [
2026-06-13T11:05:52.9822465Z             {
2026-06-13T11:05:52.9822612Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-13T11:05:52.9822726Z               "line": 431
2026-06-13T11:05:52.9822832Z             },
2026-06-13T11:05:52.9822941Z             {
2026-06-13T11:05:52.9823080Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-13T11:05:52.9823198Z               "line": 796
2026-06-13T11:05:52.9823293Z             },
2026-06-13T11:05:52.9823409Z             {
2026-06-13T11:05:52.9823546Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9823661Z               "line": 674
2026-06-13T11:05:52.9823763Z             },
2026-06-13T11:05:52.9823874Z             {
2026-06-13T11:05:52.9824018Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9824128Z               "line": 723
2026-06-13T11:05:52.9824241Z             },
2026-06-13T11:05:52.9824342Z             {
2026-06-13T11:05:52.9824500Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-13T11:05:52.9824604Z               "line": 747
2026-06-13T11:05:52.9824715Z             },
2026-06-13T11:05:52.9824824Z             {
2026-06-13T11:05:52.9824962Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9825086Z               "line": 602
2026-06-13T11:05:52.9825190Z             },
2026-06-13T11:05:52.9825291Z             {
2026-06-13T11:05:52.9825434Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9825553Z               "line": 623
2026-06-13T11:05:52.9825664Z             },
2026-06-13T11:05:52.9825758Z             {
2026-06-13T11:05:52.9825906Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9826021Z               "line": 659
2026-06-13T11:05:52.9826134Z             },
2026-06-13T11:05:52.9826238Z             {
2026-06-13T11:05:52.9826385Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9826603Z               "line": 713
2026-06-13T11:05:52.9826704Z             },
2026-06-13T11:05:52.9826813Z             {
2026-06-13T11:05:52.9826952Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9827071Z               "line": 731
2026-06-13T11:05:52.9827267Z             },
2026-06-13T11:05:52.9827362Z             {
2026-06-13T11:05:52.9827514Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9827629Z               "line": 765
2026-06-13T11:05:52.9827743Z             },
2026-06-13T11:05:52.9827848Z             {
2026-06-13T11:05:52.9827996Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-13T11:05:52.9828110Z               "line": 840
2026-06-13T11:05:52.9828212Z             },
2026-06-13T11:05:52.9828315Z             {
2026-06-13T11:05:52.9828458Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-13T11:05:52.9828573Z               "line": 80
2026-06-13T11:05:52.9828682Z             },
2026-06-13T11:05:52.9828783Z             {
2026-06-13T11:05:52.9828922Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9829158Z               "line": 5891
2026-06-13T11:05:52.9829271Z             },
2026-06-13T11:05:52.9829365Z             {
2026-06-13T11:05:52.9829499Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9829614Z               "line": 6637
2026-06-13T11:05:52.9829732Z             },
2026-06-13T11:05:52.9829843Z             {
2026-06-13T11:05:52.9829971Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9830090Z               "line": 6707
2026-06-13T11:05:52.9830191Z             },
2026-06-13T11:05:52.9830300Z             {
2026-06-13T11:05:52.9830414Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9830530Z               "line": 6745
2026-06-13T11:05:52.9830644Z             }
2026-06-13T11:05:52.9830739Z           ]
2026-06-13T11:05:52.9830845Z         }
2026-06-13T11:05:52.9830949Z       }
2026-06-13T11:05:52.9831054Z     },
2026-06-13T11:05:52.9831160Z     {
2026-06-13T11:05:52.9831278Z       "id": "REQ-START-1",
2026-06-13T11:05:52.9831507Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-13T11:05:52.9831615Z       "requiredStages": [
2026-06-13T11:05:52.9831725Z         "impl",
2026-06-13T11:05:52.9831820Z         "unit"
2026-06-13T11:05:52.9831932Z       ],
2026-06-13T11:05:52.9832028Z       "stages": {
2026-06-13T11:05:52.9832143Z         "doc": {
2026-06-13T11:05:52.9832266Z           "complete": false,
2026-06-13T11:05:52.9832371Z           "evidence": []
2026-06-13T11:05:52.9832481Z         },
2026-06-13T11:05:52.9832580Z         "impl": {
2026-06-13T11:05:52.9832701Z           "complete": true,
2026-06-13T11:05:52.9832805Z           "evidence": [
2026-06-13T11:05:52.9832909Z             {
2026-06-13T11:05:52.9833054Z               "path": "crates/spt-store/src/seed.rs",
2026-06-13T11:05:52.9833168Z               "line": 16
2026-06-13T11:05:52.9833281Z             }
2026-06-13T11:05:52.9833383Z           ]
2026-06-13T11:05:52.9833497Z         },
2026-06-13T11:05:52.9833601Z         "int": {
2026-06-13T11:05:52.9833721Z           "complete": false,
2026-06-13T11:05:52.9833835Z           "evidence": []
2026-06-13T11:05:52.9833931Z         },
2026-06-13T11:05:52.9834036Z         "unit": {
2026-06-13T11:05:52.9834154Z           "complete": true,
2026-06-13T11:05:52.9834275Z           "evidence": [
2026-06-13T11:05:52.9834379Z             {
2026-06-13T11:05:52.9834520Z               "path": "crates/spt-store/src/seed.rs",
2026-06-13T11:05:52.9834635Z               "line": 43
2026-06-13T11:05:52.9834736Z             },
2026-06-13T11:05:52.9834835Z             {
2026-06-13T11:05:52.9834965Z               "path": "crates/spt-store/src/seed.rs",
2026-06-13T11:05:52.9835069Z               "line": 59
2026-06-13T11:05:52.9835164Z             }
2026-06-13T11:05:52.9835275Z           ]
2026-06-13T11:05:52.9835384Z         }
2026-06-13T11:05:52.9835498Z       }
2026-06-13T11:05:52.9835718Z     },
2026-06-13T11:05:52.9835822Z     {
2026-06-13T11:05:52.9835942Z       "id": "REQ-START-2",
2026-06-13T11:05:52.9836113Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-13T11:05:52.9836234Z       "requiredStages": [
2026-06-13T11:05:52.9836346Z         "impl",
2026-06-13T11:05:52.9836544Z         "unit",
2026-06-13T11:05:52.9836656Z         "int"
2026-06-13T11:05:52.9836746Z       ],
2026-06-13T11:05:52.9836861Z       "stages": {
2026-06-13T11:05:52.9836973Z         "doc": {
2026-06-13T11:05:52.9837086Z           "complete": false,
2026-06-13T11:05:52.9837202Z           "evidence": []
2026-06-13T11:05:52.9837302Z         },
2026-06-13T11:05:52.9837411Z         "impl": {
2026-06-13T11:05:52.9837522Z           "complete": true,
2026-06-13T11:05:52.9837635Z           "evidence": [
2026-06-13T11:05:52.9837764Z             {
2026-06-13T11:05:52.9837913Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9838026Z               "line": 16
2026-06-13T11:05:52.9838123Z             },
2026-06-13T11:05:52.9838237Z             {
2026-06-13T11:05:52.9838384Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9838527Z               "line": 100
2026-06-13T11:05:52.9838642Z             },
2026-06-13T11:05:52.9838752Z             {
2026-06-13T11:05:52.9838899Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9839096Z               "line": 224
2026-06-13T11:05:52.9839199Z             }
2026-06-13T11:05:52.9839300Z           ]
2026-06-13T11:05:52.9839406Z         },
2026-06-13T11:05:52.9839519Z         "int": {
2026-06-13T11:05:52.9839637Z           "complete": true,
2026-06-13T11:05:52.9839752Z           "evidence": [
2026-06-13T11:05:52.9839850Z             {
2026-06-13T11:05:52.9839992Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T11:05:52.9840098Z               "line": 186
2026-06-13T11:05:52.9840212Z             }
2026-06-13T11:05:52.9840312Z           ]
2026-06-13T11:05:52.9840427Z         },
2026-06-13T11:05:52.9840545Z         "unit": {
2026-06-13T11:05:52.9840660Z           "complete": true,
2026-06-13T11:05:52.9840780Z           "evidence": [
2026-06-13T11:05:52.9840884Z             {
2026-06-13T11:05:52.9841028Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9841137Z               "line": 438
2026-06-13T11:05:52.9841251Z             },
2026-06-13T11:05:52.9841367Z             {
2026-06-13T11:05:52.9841504Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9841619Z               "line": 471
2026-06-13T11:05:52.9841724Z             }
2026-06-13T11:05:52.9841843Z           ]
2026-06-13T11:05:52.9841949Z         }
2026-06-13T11:05:52.9842053Z       }
2026-06-13T11:05:52.9842161Z     },
2026-06-13T11:05:52.9842266Z     {
2026-06-13T11:05:52.9842394Z       "id": "REQ-START-3",
2026-06-13T11:05:52.9842593Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-13T11:05:52.9842723Z       "requiredStages": [
2026-06-13T11:05:52.9842835Z         "impl",
2026-06-13T11:05:52.9842946Z         "unit",
2026-06-13T11:05:52.9843056Z         "int"
2026-06-13T11:05:52.9843159Z       ],
2026-06-13T11:05:52.9843270Z       "stages": {
2026-06-13T11:05:52.9843380Z         "doc": {
2026-06-13T11:05:52.9843503Z           "complete": false,
2026-06-13T11:05:52.9843623Z           "evidence": []
2026-06-13T11:05:52.9843738Z         },
2026-06-13T11:05:52.9843846Z         "impl": {
2026-06-13T11:05:52.9843966Z           "complete": true,
2026-06-13T11:05:52.9844080Z           "evidence": [
2026-06-13T11:05:52.9844186Z             {
2026-06-13T11:05:52.9844333Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T11:05:52.9844447Z               "line": 23
2026-06-13T11:05:52.9844554Z             },
2026-06-13T11:05:52.9844666Z             {
2026-06-13T11:05:52.9844811Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T11:05:52.9844935Z               "line": 205
2026-06-13T11:05:52.9845147Z             },
2026-06-13T11:05:52.9845253Z             {
2026-06-13T11:05:52.9845400Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T11:05:52.9845515Z               "line": 221
2026-06-13T11:05:52.9845630Z             },
2026-06-13T11:05:52.9845734Z             {
2026-06-13T11:05:52.9845882Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9846082Z               "line": 17
2026-06-13T11:05:52.9846197Z             },
2026-06-13T11:05:52.9846301Z             {
2026-06-13T11:05:52.9846445Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9846563Z               "line": 43
2026-06-13T11:05:52.9846668Z             },
2026-06-13T11:05:52.9846774Z             {
2026-06-13T11:05:52.9846916Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9847031Z               "line": 101
2026-06-13T11:05:52.9847137Z             }
2026-06-13T11:05:52.9847250Z           ]
2026-06-13T11:05:52.9847353Z         },
2026-06-13T11:05:52.9847468Z         "int": {
2026-06-13T11:05:52.9847585Z           "complete": true,
2026-06-13T11:05:52.9847700Z           "evidence": [
2026-06-13T11:05:52.9847839Z             {
2026-06-13T11:05:52.9847980Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-13T11:05:52.9848087Z               "line": 440
2026-06-13T11:05:52.9848196Z             }
2026-06-13T11:05:52.9848304Z           ]
2026-06-13T11:05:52.9848435Z         },
2026-06-13T11:05:52.9848558Z         "unit": {
2026-06-13T11:05:52.9848683Z           "complete": true,
2026-06-13T11:05:52.9848792Z           "evidence": [
2026-06-13T11:05:52.9848906Z             {
2026-06-13T11:05:52.9849150Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T11:05:52.9849259Z               "line": 331
2026-06-13T11:05:52.9849370Z             },
2026-06-13T11:05:52.9849478Z             {
2026-06-13T11:05:52.9849632Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T11:05:52.9849745Z               "line": 352
2026-06-13T11:05:52.9849855Z             },
2026-06-13T11:05:52.9849966Z             {
2026-06-13T11:05:52.9850107Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-13T11:05:52.9850225Z               "line": 362
2026-06-13T11:05:52.9850331Z             },
2026-06-13T11:05:52.9850438Z             {
2026-06-13T11:05:52.9850576Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9850687Z               "line": 439
2026-06-13T11:05:52.9850800Z             },
2026-06-13T11:05:52.9850905Z             {
2026-06-13T11:05:52.9851049Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9851162Z               "line": 472
2026-06-13T11:05:52.9851273Z             },
2026-06-13T11:05:52.9851383Z             {
2026-06-13T11:05:52.9851521Z               "path": "crates/spt/src/api/startup.rs",
2026-06-13T11:05:52.9851636Z               "line": 480
2026-06-13T11:05:52.9851735Z             }
2026-06-13T11:05:52.9851835Z           ]
2026-06-13T11:05:52.9851936Z         }
2026-06-13T11:05:52.9852054Z       }
2026-06-13T11:05:52.9852160Z     },
2026-06-13T11:05:52.9852260Z     {
2026-06-13T11:05:52.9852383Z       "id": "REQ-START-4",
2026-06-13T11:05:52.9852552Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-13T11:05:52.9852674Z       "requiredStages": [
2026-06-13T11:05:52.9852778Z         "impl",
2026-06-13T11:05:52.9852888Z         "unit"
2026-06-13T11:05:52.9852996Z       ],
2026-06-13T11:05:52.9853100Z       "stages": {
2026-06-13T11:05:52.9853215Z         "doc": {
2026-06-13T11:05:52.9853334Z           "complete": false,
2026-06-13T11:05:52.9853462Z           "evidence": []
2026-06-13T11:05:52.9853559Z         },
2026-06-13T11:05:52.9853672Z         "impl": {
2026-06-13T11:05:52.9853792Z           "complete": true,
2026-06-13T11:05:52.9853907Z           "evidence": [
2026-06-13T11:05:52.9854015Z             {
2026-06-13T11:05:52.9854155Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9854273Z               "line": 393
2026-06-13T11:05:52.9854474Z             }
2026-06-13T11:05:52.9854583Z           ]
2026-06-13T11:05:52.9854693Z         },
2026-06-13T11:05:52.9854803Z         "int": {
2026-06-13T11:05:52.9854921Z           "complete": false,
2026-06-13T11:05:52.9855037Z           "evidence": []
2026-06-13T11:05:52.9855147Z         },
2026-06-13T11:05:52.9855250Z         "unit": {
2026-06-13T11:05:52.9855452Z           "complete": true,
2026-06-13T11:05:52.9855565Z           "evidence": [
2026-06-13T11:05:52.9855678Z             {
2026-06-13T11:05:52.9855833Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-13T11:05:52.9855945Z               "line": 777
2026-06-13T11:05:52.9856060Z             }
2026-06-13T11:05:52.9856161Z           ]
2026-06-13T11:05:52.9856274Z         }
2026-06-13T11:05:52.9856376Z       }
2026-06-13T11:05:52.9856475Z     },
2026-06-13T11:05:52.9856579Z     {
2026-06-13T11:05:52.9856695Z       "id": "REQ-STORE-1",
2026-06-13T11:05:52.9857610Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-13T11:05:52.9857739Z       "requiredStages": [
2026-06-13T11:05:52.9857843Z         "impl",
2026-06-13T11:05:52.9857957Z         "unit"
2026-06-13T11:05:52.9858052Z       ],
2026-06-13T11:05:52.9858174Z       "stages": {
2026-06-13T11:05:52.9858270Z         "doc": {
2026-06-13T11:05:52.9858395Z           "complete": false,
2026-06-13T11:05:52.9858512Z           "evidence": []
2026-06-13T11:05:52.9858608Z         },
2026-06-13T11:05:52.9858713Z         "impl": {
2026-06-13T11:05:52.9858827Z           "complete": true,
2026-06-13T11:05:52.9859023Z           "evidence": [
2026-06-13T11:05:52.9859137Z             {
2026-06-13T11:05:52.9859296Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9859414Z               "line": 23
2026-06-13T11:05:52.9859518Z             },
2026-06-13T11:05:52.9859634Z             {
2026-06-13T11:05:52.9859781Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9859897Z               "line": 46
2026-06-13T11:05:52.9860005Z             },
2026-06-13T11:05:52.9860115Z             {
2026-06-13T11:05:52.9860273Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9860386Z               "line": 97
2026-06-13T11:05:52.9860488Z             },
2026-06-13T11:05:52.9860588Z             {
2026-06-13T11:05:52.9860738Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9860843Z               "line": 125
2026-06-13T11:05:52.9860947Z             },
2026-06-13T11:05:52.9861055Z             {
2026-06-13T11:05:52.9861194Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9861308Z               "line": 181
2026-06-13T11:05:52.9861403Z             },
2026-06-13T11:05:52.9861519Z             {
2026-06-13T11:05:52.9861675Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9861805Z               "line": 205
2026-06-13T11:05:52.9861914Z             },
2026-06-13T11:05:52.9862018Z             {
2026-06-13T11:05:52.9862167Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9862286Z               "line": 441
2026-06-13T11:05:52.9862390Z             },
2026-06-13T11:05:52.9862492Z             {
2026-06-13T11:05:52.9862648Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.9862759Z               "line": 25
2026-06-13T11:05:52.9862858Z             },
2026-06-13T11:05:52.9862973Z             {
2026-06-13T11:05:52.9863121Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.9863234Z               "line": 120
2026-06-13T11:05:52.9863348Z             },
2026-06-13T11:05:52.9863448Z             {
2026-06-13T11:05:52.9863608Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.9863814Z               "line": 148
2026-06-13T11:05:52.9863927Z             },
2026-06-13T11:05:52.9864027Z             {
2026-06-13T11:05:52.9864181Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.9864299Z               "line": 165
2026-06-13T11:05:52.9864400Z             },
2026-06-13T11:05:52.9864618Z             {
2026-06-13T11:05:52.9864767Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.9864876Z               "line": 180
2026-06-13T11:05:52.9864976Z             },
2026-06-13T11:05:52.9865091Z             {
2026-06-13T11:05:52.9865243Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.9865354Z               "line": 198
2026-06-13T11:05:52.9865463Z             },
2026-06-13T11:05:52.9865563Z             {
2026-06-13T11:05:52.9865716Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.9865830Z               "line": 207
2026-06-13T11:05:52.9865936Z             },
2026-06-13T11:05:52.9866050Z             {
2026-06-13T11:05:52.9866196Z               "path": "crates/spt-store/src/project.rs",
2026-06-13T11:05:52.9866310Z               "line": 16
2026-06-13T11:05:52.9866416Z             },
2026-06-13T11:05:52.9866515Z             {
2026-06-13T11:05:52.9866660Z               "path": "crates/spt-store/src/project.rs",
2026-06-13T11:05:52.9866783Z               "line": 63
2026-06-13T11:05:52.9866887Z             }
2026-06-13T11:05:52.9866993Z           ]
2026-06-13T11:05:52.9867088Z         },
2026-06-13T11:05:52.9867193Z         "int": {
2026-06-13T11:05:52.9867312Z           "complete": false,
2026-06-13T11:05:52.9867427Z           "evidence": []
2026-06-13T11:05:52.9867536Z         },
2026-06-13T11:05:52.9867642Z         "unit": {
2026-06-13T11:05:52.9867760Z           "complete": true,
2026-06-13T11:05:52.9867866Z           "evidence": [
2026-06-13T11:05:52.9867985Z             {
2026-06-13T11:05:52.9868137Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9868253Z               "line": 558
2026-06-13T11:05:52.9868365Z             },
2026-06-13T11:05:52.9868473Z             {
2026-06-13T11:05:52.9868622Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9868739Z               "line": 568
2026-06-13T11:05:52.9868835Z             },
2026-06-13T11:05:52.9869030Z             {
2026-06-13T11:05:52.9869168Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9869288Z               "line": 590
2026-06-13T11:05:52.9869401Z             },
2026-06-13T11:05:52.9869508Z             {
2026-06-13T11:05:52.9869650Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9869759Z               "line": 606
2026-06-13T11:05:52.9869865Z             },
2026-06-13T11:05:52.9869960Z             {
2026-06-13T11:05:52.9870103Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-13T11:05:52.9870222Z               "line": 629
2026-06-13T11:05:52.9870331Z             },
2026-06-13T11:05:52.9870437Z             {
2026-06-13T11:05:52.9870584Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.9870699Z               "line": 472
2026-06-13T11:05:52.9870810Z             },
2026-06-13T11:05:52.9870922Z             {
2026-06-13T11:05:52.9871072Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-13T11:05:52.9871190Z               "line": 507
2026-06-13T11:05:52.9871308Z             },
2026-06-13T11:05:52.9871413Z             {
2026-06-13T11:05:52.9871554Z               "path": "crates/spt-store/src/project.rs",
2026-06-13T11:05:52.9871667Z               "line": 120
2026-06-13T11:05:52.9871764Z             },
2026-06-13T11:05:52.9871864Z             {
2026-06-13T11:05:52.9872006Z               "path": "crates/spt-store/src/project.rs",
2026-06-13T11:05:52.9872117Z               "line": 128
2026-06-13T11:05:52.9872216Z             }
2026-06-13T11:05:52.9872331Z           ]
2026-06-13T11:05:52.9872441Z         }
2026-06-13T11:05:52.9872641Z       }
2026-06-13T11:05:52.9872751Z     },
2026-06-13T11:05:52.9872851Z     {
2026-06-13T11:05:52.9872970Z       "id": "REQ-SUBNET-1",
2026-06-13T11:05:52.9873324Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-13T11:05:52.9873533Z       "requiredStages": [
2026-06-13T11:05:52.9876414Z         "impl",
2026-06-13T11:05:52.9876567Z         "unit"
2026-06-13T11:05:52.9876675Z       ],
2026-06-13T11:05:52.9876794Z       "stages": {
2026-06-13T11:05:52.9876905Z         "doc": {
2026-06-13T11:05:52.9877024Z           "complete": false,
2026-06-13T11:05:52.9877147Z           "evidence": []
2026-06-13T11:05:52.9877258Z         },
2026-06-13T11:05:52.9877366Z         "impl": {
2026-06-13T11:05:52.9877487Z           "complete": true,
2026-06-13T11:05:52.9877600Z           "evidence": [
2026-06-13T11:05:52.9877709Z             {
2026-06-13T11:05:52.9877882Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9878010Z               "line": 281
2026-06-13T11:05:52.9878121Z             },
2026-06-13T11:05:52.9878225Z             {
2026-06-13T11:05:52.9878387Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9878502Z               "line": 599
2026-06-13T11:05:52.9878610Z             },
2026-06-13T11:05:52.9878716Z             {
2026-06-13T11:05:52.9878860Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9879077Z               "line": 2674
2026-06-13T11:05:52.9879186Z             },
2026-06-13T11:05:52.9879299Z             {
2026-06-13T11:05:52.9879433Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9879552Z               "line": 2839
2026-06-13T11:05:52.9879656Z             },
2026-06-13T11:05:52.9879767Z             {
2026-06-13T11:05:52.9879900Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9880009Z               "line": 2858
2026-06-13T11:05:52.9880120Z             },
2026-06-13T11:05:52.9880229Z             {
2026-06-13T11:05:52.9880359Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9880472Z               "line": 2919
2026-06-13T11:05:52.9880586Z             },
2026-06-13T11:05:52.9880697Z             {
2026-06-13T11:05:52.9880820Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9880939Z               "line": 2961
2026-06-13T11:05:52.9881041Z             },
2026-06-13T11:05:52.9881148Z             {
2026-06-13T11:05:52.9881273Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9881389Z               "line": 3150
2026-06-13T11:05:52.9881497Z             },
2026-06-13T11:05:52.9881603Z             {
2026-06-13T11:05:52.9881732Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9881840Z               "line": 3220
2026-06-13T11:05:52.9881949Z             },
2026-06-13T11:05:52.9882054Z             {
2026-06-13T11:05:52.9882190Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9882309Z               "line": 3444
2026-06-13T11:05:52.9882420Z             },
2026-06-13T11:05:52.9882524Z             {
2026-06-13T11:05:52.9882668Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9882781Z               "line": 418
2026-06-13T11:05:52.9882891Z             }
2026-06-13T11:05:52.9882992Z           ]
2026-06-13T11:05:52.9883101Z         },
2026-06-13T11:05:52.9883206Z         "int": {
2026-06-13T11:05:52.9883330Z           "complete": false,
2026-06-13T11:05:52.9883439Z           "evidence": []
2026-06-13T11:05:52.9883550Z         },
2026-06-13T11:05:52.9883654Z         "unit": {
2026-06-13T11:05:52.9883778Z           "complete": true,
2026-06-13T11:05:52.9883893Z           "evidence": [
2026-06-13T11:05:52.9883997Z             {
2026-06-13T11:05:52.9884160Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9884275Z               "line": 1477
2026-06-13T11:05:52.9884383Z             },
2026-06-13T11:05:52.9884492Z             {
2026-06-13T11:05:52.9884752Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9884867Z               "line": 7546
2026-06-13T11:05:52.9884972Z             },
2026-06-13T11:05:52.9885081Z             {
2026-06-13T11:05:52.9885210Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9885324Z               "line": 7716
2026-06-13T11:05:52.9885525Z             },
2026-06-13T11:05:52.9885639Z             {
2026-06-13T11:05:52.9885768Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9885877Z               "line": 7723
2026-06-13T11:05:52.9885987Z             },
2026-06-13T11:05:52.9886097Z             {
2026-06-13T11:05:52.9886221Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9886340Z               "line": 7776
2026-06-13T11:05:52.9886446Z             },
2026-06-13T11:05:52.9886554Z             {
2026-06-13T11:05:52.9886679Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9886794Z               "line": 7793
2026-06-13T11:05:52.9886897Z             },
2026-06-13T11:05:52.9887012Z             {
2026-06-13T11:05:52.9887147Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9887264Z               "line": 7823
2026-06-13T11:05:52.9887369Z             },
2026-06-13T11:05:52.9887475Z             {
2026-06-13T11:05:52.9887607Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9887722Z               "line": 7922
2026-06-13T11:05:52.9887832Z             },
2026-06-13T11:05:52.9887941Z             {
2026-06-13T11:05:52.9888070Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9888185Z               "line": 8073
2026-06-13T11:05:52.9888288Z             }
2026-06-13T11:05:52.9888395Z           ]
2026-06-13T11:05:52.9888499Z         }
2026-06-13T11:05:52.9888608Z       }
2026-06-13T11:05:52.9888719Z     },
2026-06-13T11:05:52.9888823Z     {
2026-06-13T11:05:52.9889025Z       "id": "REQ-SUBNET-2",
2026-06-13T11:05:52.9889296Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-13T11:05:52.9889425Z       "requiredStages": [
2026-06-13T11:05:52.9889532Z         "impl",
2026-06-13T11:05:52.9889642Z         "unit",
2026-06-13T11:05:52.9889751Z         "int"
2026-06-13T11:05:52.9889854Z       ],
2026-06-13T11:05:52.9889964Z       "stages": {
2026-06-13T11:05:52.9890075Z         "doc": {
2026-06-13T11:05:52.9890197Z           "complete": true,
2026-06-13T11:05:52.9890312Z           "evidence": [
2026-06-13T11:05:52.9890422Z             {
2026-06-13T11:05:52.9890613Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-13T11:05:52.9890727Z               "line": 60
2026-06-13T11:05:52.9890836Z             }
2026-06-13T11:05:52.9890942Z           ]
2026-06-13T11:05:52.9891046Z         },
2026-06-13T11:05:52.9891155Z         "impl": {
2026-06-13T11:05:52.9891276Z           "complete": true,
2026-06-13T11:05:52.9891385Z           "evidence": [
2026-06-13T11:05:52.9891494Z             {
2026-06-13T11:05:52.9891643Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.9891757Z               "line": 800
2026-06-13T11:05:52.9891868Z             },
2026-06-13T11:05:52.9891972Z             {
2026-06-13T11:05:52.9892124Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:52.9892245Z               "line": 801
2026-06-13T11:05:52.9892348Z             },
2026-06-13T11:05:52.9892457Z             {
2026-06-13T11:05:52.9892604Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.9892726Z               "line": 448
2026-06-13T11:05:52.9892832Z             },
2026-06-13T11:05:52.9892937Z             {
2026-06-13T11:05:52.9893084Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-13T11:05:52.9893195Z               "line": 578
2026-06-13T11:05:52.9893300Z             },
2026-06-13T11:05:52.9893403Z             {
2026-06-13T11:05:52.9893557Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9893670Z               "line": 26
2026-06-13T11:05:52.9893886Z             },
2026-06-13T11:05:52.9893995Z             {
2026-06-13T11:05:52.9894139Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9894257Z               "line": 60
2026-06-13T11:05:52.9894362Z             },
2026-06-13T11:05:52.9894473Z             {
2026-06-13T11:05:52.9894619Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9894821Z               "line": 168
2026-06-13T11:05:52.9894929Z             },
2026-06-13T11:05:52.9895032Z             {
2026-06-13T11:05:52.9895185Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9895293Z               "line": 295
2026-06-13T11:05:52.9895403Z             },
2026-06-13T11:05:52.9895509Z             {
2026-06-13T11:05:52.9895650Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9895757Z               "line": 417
2026-06-13T11:05:52.9895861Z             },
2026-06-13T11:05:52.9895970Z             {
2026-06-13T11:05:52.9896123Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-13T11:05:52.9896246Z               "line": 252
2026-06-13T11:05:52.9896352Z             },
2026-06-13T11:05:52.9896457Z             {
2026-06-13T11:05:52.9896585Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9896701Z               "line": 2885
2026-06-13T11:05:52.9896804Z             },
2026-06-13T11:05:52.9896905Z             {
2026-06-13T11:05:52.9897030Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9897138Z               "line": 3383
2026-06-13T11:05:52.9897244Z             },
2026-06-13T11:05:52.9897350Z             {
2026-06-13T11:05:52.9897476Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9897582Z               "line": 4012
2026-06-13T11:05:52.9897693Z             }
2026-06-13T11:05:52.9897805Z           ]
2026-06-13T11:05:52.9897909Z         },
2026-06-13T11:05:52.9898015Z         "int": {
2026-06-13T11:05:52.9898134Z           "complete": true,
2026-06-13T11:05:52.9898239Z           "evidence": [
2026-06-13T11:05:52.9898344Z             {
2026-06-13T11:05:52.9898496Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-13T11:05:52.9898612Z               "line": 22
2026-06-13T11:05:52.9898716Z             },
2026-06-13T11:05:52.9898820Z             {
2026-06-13T11:05:52.9899064Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9899173Z               "line": 575
2026-06-13T11:05:52.9899284Z             },
2026-06-13T11:05:52.9899379Z             {
2026-06-13T11:05:52.9899527Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:52.9899636Z               "line": 792
2026-06-13T11:05:52.9899740Z             }
2026-06-13T11:05:52.9899851Z           ]
2026-06-13T11:05:52.9899956Z         },
2026-06-13T11:05:52.9900060Z         "unit": {
2026-06-13T11:05:52.9900164Z           "complete": true,
2026-06-13T11:05:52.9900283Z           "evidence": [
2026-06-13T11:05:52.9900382Z             {
2026-06-13T11:05:52.9900529Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9900640Z               "line": 586
2026-06-13T11:05:52.9900748Z             },
2026-06-13T11:05:52.9900854Z             {
2026-06-13T11:05:52.9900982Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9901086Z               "line": 7586
2026-06-13T11:05:52.9901192Z             },
2026-06-13T11:05:52.9901297Z             {
2026-06-13T11:05:52.9901425Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9901536Z               "line": 8277
2026-06-13T11:05:52.9901640Z             }
2026-06-13T11:05:52.9901745Z           ]
2026-06-13T11:05:52.9901850Z         }
2026-06-13T11:05:52.9901955Z       }
2026-06-13T11:05:52.9902059Z     },
2026-06-13T11:05:52.9902170Z     {
2026-06-13T11:05:52.9902283Z       "id": "REQ-SUBNET-3",
2026-06-13T11:05:52.9902584Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-13T11:05:52.9902704Z       "requiredStages": [
2026-06-13T11:05:52.9902908Z         "impl",
2026-06-13T11:05:52.9903007Z         "unit"
2026-06-13T11:05:52.9903112Z       ],
2026-06-13T11:05:52.9903225Z       "stages": {
2026-06-13T11:05:52.9903329Z         "doc": {
2026-06-13T11:05:52.9903449Z           "complete": false,
2026-06-13T11:05:52.9903563Z           "evidence": []
2026-06-13T11:05:52.9903779Z         },
2026-06-13T11:05:52.9903888Z         "impl": {
2026-06-13T11:05:52.9904001Z           "complete": true,
2026-06-13T11:05:52.9904117Z           "evidence": [
2026-06-13T11:05:52.9904226Z             {
2026-06-13T11:05:52.9904389Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9904497Z               "line": 152
2026-06-13T11:05:52.9904607Z             },
2026-06-13T11:05:52.9904713Z             {
2026-06-13T11:05:52.9904870Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9904985Z               "line": 299
2026-06-13T11:05:52.9905095Z             },
2026-06-13T11:05:52.9905208Z             {
2026-06-13T11:05:52.9905357Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9905470Z               "line": 437
2026-06-13T11:05:52.9905583Z             },
2026-06-13T11:05:52.9905684Z             {
2026-06-13T11:05:52.9905839Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9905954Z               "line": 480
2026-06-13T11:05:52.9906059Z             },
2026-06-13T11:05:52.9906163Z             {
2026-06-13T11:05:52.9906312Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9906426Z               "line": 125
2026-06-13T11:05:52.9906530Z             },
2026-06-13T11:05:52.9906641Z             {
2026-06-13T11:05:52.9906787Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9906903Z               "line": 253
2026-06-13T11:05:52.9907012Z             },
2026-06-13T11:05:52.9907116Z             {
2026-06-13T11:05:52.9907266Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9907384Z               "line": 264
2026-06-13T11:05:52.9907489Z             },
2026-06-13T11:05:52.9907590Z             {
2026-06-13T11:05:52.9907737Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9907852Z               "line": 285
2026-06-13T11:05:52.9907957Z             },
2026-06-13T11:05:52.9908066Z             {
2026-06-13T11:05:52.9908210Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9908328Z               "line": 589
2026-06-13T11:05:52.9908432Z             },
2026-06-13T11:05:52.9908537Z             {
2026-06-13T11:05:52.9908689Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9908799Z               "line": 648
2026-06-13T11:05:52.9908904Z             },
2026-06-13T11:05:52.9909089Z             {
2026-06-13T11:05:52.9909243Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.9909352Z               "line": 61
2026-06-13T11:05:52.9909467Z             },
2026-06-13T11:05:52.9909572Z             {
2026-06-13T11:05:52.9909719Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.9909835Z               "line": 90
2026-06-13T11:05:52.9909948Z             },
2026-06-13T11:05:52.9910053Z             {
2026-06-13T11:05:52.9910201Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.9910315Z               "line": 125
2026-06-13T11:05:52.9910426Z             },
2026-06-13T11:05:52.9910530Z             {
2026-06-13T11:05:52.9910676Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-13T11:05:52.9910787Z               "line": 9
2026-06-13T11:05:52.9910899Z             },
2026-06-13T11:05:52.9911003Z             {
2026-06-13T11:05:52.9911137Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9911251Z               "line": 3220
2026-06-13T11:05:52.9911356Z             },
2026-06-13T11:05:52.9911462Z             {
2026-06-13T11:05:52.9911599Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9911814Z               "line": 445
2026-06-13T11:05:52.9911923Z             }
2026-06-13T11:05:52.9912024Z           ]
2026-06-13T11:05:52.9912129Z         },
2026-06-13T11:05:52.9912238Z         "int": {
2026-06-13T11:05:52.9912363Z           "complete": false,
2026-06-13T11:05:52.9912472Z           "evidence": []
2026-06-13T11:05:52.9912668Z         },
2026-06-13T11:05:52.9912777Z         "unit": {
2026-06-13T11:05:52.9912896Z           "complete": true,
2026-06-13T11:05:52.9913012Z           "evidence": [
2026-06-13T11:05:52.9913116Z             {
2026-06-13T11:05:52.9913269Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9913379Z               "line": 1304
2026-06-13T11:05:52.9913492Z             },
2026-06-13T11:05:52.9913596Z             {
2026-06-13T11:05:52.9913748Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9913865Z               "line": 1606
2026-06-13T11:05:52.9913971Z             },
2026-06-13T11:05:52.9914071Z             {
2026-06-13T11:05:52.9914223Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9914343Z               "line": 886
2026-06-13T11:05:52.9914452Z             },
2026-06-13T11:05:52.9914552Z             {
2026-06-13T11:05:52.9914701Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9914814Z               "line": 959
2026-06-13T11:05:52.9914920Z             },
2026-06-13T11:05:52.9915020Z             {
2026-06-13T11:05:52.9915172Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9915292Z               "line": 1009
2026-06-13T11:05:52.9915391Z             },
2026-06-13T11:05:52.9915487Z             {
2026-06-13T11:05:52.9915626Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9915749Z               "line": 1068
2026-06-13T11:05:52.9915850Z             },
2026-06-13T11:05:52.9915960Z             {
2026-06-13T11:05:52.9916111Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-13T11:05:52.9916225Z               "line": 234
2026-06-13T11:05:52.9916338Z             },
2026-06-13T11:05:52.9916432Z             {
2026-06-13T11:05:52.9916586Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-13T11:05:52.9916690Z               "line": 49
2026-06-13T11:05:52.9916804Z             },
2026-06-13T11:05:52.9916910Z             {
2026-06-13T11:05:52.9917038Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9917158Z               "line": 7922
2026-06-13T11:05:52.9917258Z             },
2026-06-13T11:05:52.9917371Z             {
2026-06-13T11:05:52.9917501Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9917619Z               "line": 8028
2026-06-13T11:05:52.9917729Z             },
2026-06-13T11:05:52.9917826Z             {
2026-06-13T11:05:52.9917954Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9918068Z               "line": 8243
2026-06-13T11:05:52.9918179Z             }
2026-06-13T11:05:52.9918282Z           ]
2026-06-13T11:05:52.9918388Z         }
2026-06-13T11:05:52.9918494Z       }
2026-06-13T11:05:52.9918592Z     },
2026-06-13T11:05:52.9918703Z     {
2026-06-13T11:05:52.9918813Z       "id": "REQ-SUBNET-4",
2026-06-13T11:05:52.9919203Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-13T11:05:52.9919321Z       "requiredStages": [
2026-06-13T11:05:52.9919436Z         "impl",
2026-06-13T11:05:52.9919555Z         "unit"
2026-06-13T11:05:52.9919650Z       ],
2026-06-13T11:05:52.9919761Z       "stages": {
2026-06-13T11:05:52.9919865Z         "doc": {
2026-06-13T11:05:52.9919979Z           "complete": true,
2026-06-13T11:05:52.9920090Z           "evidence": [
2026-06-13T11:05:52.9920194Z             {
2026-06-13T11:05:52.9920386Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-13T11:05:52.9920494Z               "line": 60
2026-06-13T11:05:52.9920604Z             }
2026-06-13T11:05:52.9920799Z           ]
2026-06-13T11:05:52.9920909Z         },
2026-06-13T11:05:52.9921020Z         "impl": {
2026-06-13T11:05:52.9921137Z           "complete": true,
2026-06-13T11:05:52.9921251Z           "evidence": [
2026-06-13T11:05:52.9921356Z             {
2026-06-13T11:05:52.9921492Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9921693Z               "line": 2674
2026-06-13T11:05:52.9921802Z             },
2026-06-13T11:05:52.9921911Z             {
2026-06-13T11:05:52.9922041Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9922159Z               "line": 3979
2026-06-13T11:05:52.9922255Z             },
2026-06-13T11:05:52.9922365Z             {
2026-06-13T11:05:52.9922488Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9922609Z               "line": 4012
2026-06-13T11:05:52.9922713Z             }
2026-06-13T11:05:52.9922822Z           ]
2026-06-13T11:05:52.9922928Z         },
2026-06-13T11:05:52.9923042Z         "int": {
2026-06-13T11:05:52.9923165Z           "complete": false,
2026-06-13T11:05:52.9923281Z           "evidence": []
2026-06-13T11:05:52.9923389Z         },
2026-06-13T11:05:52.9923499Z         "unit": {
2026-06-13T11:05:52.9923615Z           "complete": true,
2026-06-13T11:05:52.9923737Z           "evidence": [
2026-06-13T11:05:52.9923844Z             {
2026-06-13T11:05:52.9923981Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9924099Z               "line": 7702
2026-06-13T11:05:52.9924209Z             },
2026-06-13T11:05:52.9924312Z             {
2026-06-13T11:05:52.9924449Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9924569Z               "line": 7776
2026-06-13T11:05:52.9924674Z             }
2026-06-13T11:05:52.9924788Z           ]
2026-06-13T11:05:52.9924894Z         }
2026-06-13T11:05:52.9925003Z       }
2026-06-13T11:05:52.9925112Z     },
2026-06-13T11:05:52.9925218Z     {
2026-06-13T11:05:52.9925341Z       "id": "REQ-SUBNET-5",
2026-06-13T11:05:52.9926614Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-13T11:05:52.9926756Z       "requiredStages": [
2026-06-13T11:05:52.9926870Z         "impl",
2026-06-13T11:05:52.9926982Z         "unit",
2026-06-13T11:05:52.9927098Z         "int"
2026-06-13T11:05:52.9927208Z       ],
2026-06-13T11:05:52.9927321Z       "stages": {
2026-06-13T11:05:52.9927437Z         "doc": {
2026-06-13T11:05:52.9927556Z           "complete": false,
2026-06-13T11:05:52.9927670Z           "evidence": []
2026-06-13T11:05:52.9927780Z         },
2026-06-13T11:05:52.9927894Z         "impl": {
2026-06-13T11:05:52.9928008Z           "complete": true,
2026-06-13T11:05:52.9928123Z           "evidence": [
2026-06-13T11:05:52.9928242Z             {
2026-06-13T11:05:52.9928400Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-13T11:05:52.9928509Z               "line": 126
2026-06-13T11:05:52.9928623Z             },
2026-06-13T11:05:52.9928729Z             {
2026-06-13T11:05:52.9928881Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-13T11:05:52.9929082Z               "line": 413
2026-06-13T11:05:52.9929186Z             },
2026-06-13T11:05:52.9929297Z             {
2026-06-13T11:05:52.9929444Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9929561Z               "line": 74
2026-06-13T11:05:52.9929671Z             },
2026-06-13T11:05:52.9929777Z             {
2026-06-13T11:05:52.9929928Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.9930048Z               "line": 332
2026-06-13T11:05:52.9930152Z             },
2026-06-13T11:05:52.9930263Z             {
2026-06-13T11:05:52.9930416Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.9930635Z               "line": 621
2026-06-13T11:05:52.9930739Z             },
2026-06-13T11:05:52.9930849Z             {
2026-06-13T11:05:52.9930998Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T11:05:52.9931116Z               "line": 31
2026-06-13T11:05:52.9931222Z             },
2026-06-13T11:05:52.9931416Z             {
2026-06-13T11:05:52.9931575Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T11:05:52.9931688Z               "line": 50
2026-06-13T11:05:52.9931801Z             },
2026-06-13T11:05:52.9931907Z             {
2026-06-13T11:05:52.9932057Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T11:05:52.9932171Z               "line": 69
2026-06-13T11:05:52.9932277Z             },
2026-06-13T11:05:52.9932386Z             {
2026-06-13T11:05:52.9932534Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T11:05:52.9932649Z               "line": 113
2026-06-13T11:05:52.9932753Z             },
2026-06-13T11:05:52.9932864Z             {
2026-06-13T11:05:52.9933019Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-13T11:05:52.9933135Z               "line": 25
2026-06-13T11:05:52.9933244Z             },
2026-06-13T11:05:52.9933344Z             {
2026-06-13T11:05:52.9933498Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-13T11:05:52.9933616Z               "line": 34
2026-06-13T11:05:52.9933726Z             },
2026-06-13T11:05:52.9933837Z             {
2026-06-13T11:05:52.9933983Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-13T11:05:52.9934103Z               "line": 17
2026-06-13T11:05:52.9934198Z             },
2026-06-13T11:05:52.9934298Z             {
2026-06-13T11:05:52.9934432Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9934546Z               "line": 3937
2026-06-13T11:05:52.9934655Z             },
2026-06-13T11:05:52.9934759Z             {
2026-06-13T11:05:52.9934896Z               "path": "crates/spt/src/wansend.rs",
2026-06-13T11:05:52.9935019Z               "line": 419
2026-06-13T11:05:52.9935129Z             }
2026-06-13T11:05:52.9935234Z           ]
2026-06-13T11:05:52.9935338Z         },
2026-06-13T11:05:52.9935454Z         "int": {
2026-06-13T11:05:52.9935563Z           "complete": true,
2026-06-13T11:05:52.9935682Z           "evidence": [
2026-06-13T11:05:52.9935802Z             {
2026-06-13T11:05:52.9935958Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:52.9936070Z               "line": 815
2026-06-13T11:05:52.9936183Z             }
2026-06-13T11:05:52.9936292Z           ]
2026-06-13T11:05:52.9936389Z         },
2026-06-13T11:05:52.9936498Z         "unit": {
2026-06-13T11:05:52.9936612Z           "complete": true,
2026-06-13T11:05:52.9936732Z           "evidence": [
2026-06-13T11:05:52.9936841Z             {
2026-06-13T11:05:52.9936985Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:52.9937099Z               "line": 341
2026-06-13T11:05:52.9937211Z             },
2026-06-13T11:05:52.9937312Z             {
2026-06-13T11:05:52.9937449Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-13T11:05:52.9937610Z               "line": 1115
2026-06-13T11:05:52.9937721Z             },
2026-06-13T11:05:52.9937825Z             {
2026-06-13T11:05:52.9937973Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-13T11:05:52.9938077Z               "line": 151
2026-06-13T11:05:52.9938191Z             },
2026-06-13T11:05:52.9938293Z             {
2026-06-13T11:05:52.9938440Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-13T11:05:52.9938559Z               "line": 61
2026-06-13T11:05:52.9938655Z             },
2026-06-13T11:05:52.9938769Z             {
2026-06-13T11:05:52.9938917Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-13T11:05:52.9939126Z               "line": 111
2026-06-13T11:05:52.9939227Z             },
2026-06-13T11:05:52.9939336Z             {
2026-06-13T11:05:52.9939488Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-13T11:05:52.9939717Z               "line": 138
2026-06-13T11:05:52.9939823Z             },
2026-06-13T11:05:52.9939919Z             {
2026-06-13T11:05:52.9940069Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-13T11:05:52.9940184Z               "line": 148
2026-06-13T11:05:52.9940375Z             },
2026-06-13T11:05:52.9940474Z             {
2026-06-13T11:05:52.9940609Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9940722Z               "line": 7603
2026-06-13T11:05:52.9940818Z             }
2026-06-13T11:05:52.9940924Z           ]
2026-06-13T11:05:52.9941023Z         }
2026-06-13T11:05:52.9941137Z       }
2026-06-13T11:05:52.9941233Z     },
2026-06-13T11:05:52.9941343Z     {
2026-06-13T11:05:52.9941510Z       "id": "REQ-SUBNET-6",
2026-06-13T11:05:52.9942234Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-13T11:05:52.9942348Z       "requiredStages": [
2026-06-13T11:05:52.9942462Z         "impl",
2026-06-13T11:05:52.9942566Z         "unit"
2026-06-13T11:05:52.9942674Z       ],
2026-06-13T11:05:52.9942784Z       "stages": {
2026-06-13T11:05:52.9942899Z         "doc": {
2026-06-13T11:05:52.9943017Z           "complete": false,
2026-06-13T11:05:52.9943128Z           "evidence": []
2026-06-13T11:05:52.9943233Z         },
2026-06-13T11:05:52.9943337Z         "impl": {
2026-06-13T11:05:52.9943471Z           "complete": true,
2026-06-13T11:05:52.9943589Z           "evidence": [
2026-06-13T11:05:52.9943700Z             {
2026-06-13T11:05:52.9943852Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9943966Z               "line": 254
2026-06-13T11:05:52.9944077Z             },
2026-06-13T11:05:52.9944181Z             {
2026-06-13T11:05:52.9944314Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9944425Z               "line": 3595
2026-06-13T11:05:52.9944534Z             },
2026-06-13T11:05:52.9944639Z             {
2026-06-13T11:05:52.9944773Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9944887Z               "line": 3612
2026-06-13T11:05:52.9944983Z             },
2026-06-13T11:05:52.9945088Z             {
2026-06-13T11:05:52.9945215Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9945334Z               "line": 3665
2026-06-13T11:05:52.9945433Z             },
2026-06-13T11:05:52.9945532Z             {
2026-06-13T11:05:52.9945656Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9945771Z               "line": 3688
2026-06-13T11:05:52.9945880Z             }
2026-06-13T11:05:52.9945986Z           ]
2026-06-13T11:05:52.9946090Z         },
2026-06-13T11:05:52.9946199Z         "int": {
2026-06-13T11:05:52.9946324Z           "complete": false,
2026-06-13T11:05:52.9946443Z           "evidence": []
2026-06-13T11:05:52.9946542Z         },
2026-06-13T11:05:52.9946658Z         "unit": {
2026-06-13T11:05:52.9946772Z           "complete": true,
2026-06-13T11:05:52.9946886Z           "evidence": [
2026-06-13T11:05:52.9946987Z             {
2026-06-13T11:05:52.9947115Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9947225Z               "line": 7617
2026-06-13T11:05:52.9947321Z             },
2026-06-13T11:05:52.9947429Z             {
2026-06-13T11:05:52.9947550Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9947668Z               "line": 7650
2026-06-13T11:05:52.9947772Z             },
2026-06-13T11:05:52.9947881Z             {
2026-06-13T11:05:52.9948013Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9948122Z               "line": 7659
2026-06-13T11:05:52.9948237Z             }
2026-06-13T11:05:52.9948338Z           ]
2026-06-13T11:05:52.9948451Z         }
2026-06-13T11:05:52.9948547Z       }
2026-06-13T11:05:52.9948652Z     },
2026-06-13T11:05:52.9948833Z     {
2026-06-13T11:05:52.9949038Z       "id": "REQ-SUBNET-7",
2026-06-13T11:05:52.9950681Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-13T11:05:52.9950897Z       "requiredStages": [
2026-06-13T11:05:52.9951006Z         "impl",
2026-06-13T11:05:52.9951116Z         "unit"
2026-06-13T11:05:52.9951217Z       ],
2026-06-13T11:05:52.9951325Z       "stages": {
2026-06-13T11:05:52.9951431Z         "doc": {
2026-06-13T11:05:52.9951541Z           "complete": false,
2026-06-13T11:05:52.9951649Z           "evidence": []
2026-06-13T11:05:52.9951775Z         },
2026-06-13T11:05:52.9951879Z         "impl": {
2026-06-13T11:05:52.9951993Z           "complete": true,
2026-06-13T11:05:52.9952108Z           "evidence": [
2026-06-13T11:05:52.9952208Z             {
2026-06-13T11:05:52.9952362Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-13T11:05:52.9952480Z               "line": 17
2026-06-13T11:05:52.9952584Z             },
2026-06-13T11:05:52.9952695Z             {
2026-06-13T11:05:52.9952846Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9952964Z               "line": 103
2026-06-13T11:05:52.9953065Z             },
2026-06-13T11:05:52.9953177Z             {
2026-06-13T11:05:52.9953311Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-13T11:05:52.9953426Z               "line": 312
2026-06-13T11:05:52.9953534Z             },
2026-06-13T11:05:52.9953630Z             {
2026-06-13T11:05:52.9953793Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-13T11:05:52.9953906Z               "line": 131
2026-06-13T11:05:52.9954017Z             },
2026-06-13T11:05:52.9954126Z             {
2026-06-13T11:05:52.9954279Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9954398Z               "line": 160
2026-06-13T11:05:52.9954502Z             },
2026-06-13T11:05:52.9954608Z             {
2026-06-13T11:05:52.9954761Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9954879Z               "line": 441
2026-06-13T11:05:52.9954990Z             },
2026-06-13T11:05:52.9955089Z             {
2026-06-13T11:05:52.9955247Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9955361Z               "line": 618
2026-06-13T11:05:52.9955471Z             },
2026-06-13T11:05:52.9955577Z             {
2026-06-13T11:05:52.9955737Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9955856Z               "line": 658
2026-06-13T11:05:52.9955965Z             },
2026-06-13T11:05:52.9956078Z             {
2026-06-13T11:05:52.9956230Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9956345Z               "line": 714
2026-06-13T11:05:52.9956454Z             },
2026-06-13T11:05:52.9956565Z             {
2026-06-13T11:05:52.9956721Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9956831Z               "line": 136
2026-06-13T11:05:52.9956941Z             },
2026-06-13T11:05:52.9957045Z             {
2026-06-13T11:05:52.9957199Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9957308Z               "line": 139
2026-06-13T11:05:52.9957413Z             }
2026-06-13T11:05:52.9957514Z           ]
2026-06-13T11:05:52.9957622Z         },
2026-06-13T11:05:52.9957737Z         "int": {
2026-06-13T11:05:52.9957857Z           "complete": false,
2026-06-13T11:05:52.9960701Z           "evidence": []
2026-06-13T11:05:52.9960847Z         },
2026-06-13T11:05:52.9961114Z         "unit": {
2026-06-13T11:05:52.9961237Z           "complete": true,
2026-06-13T11:05:52.9961352Z           "evidence": [
2026-06-13T11:05:52.9961457Z             {
2026-06-13T11:05:52.9961618Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-13T11:05:52.9961739Z               "line": 136
2026-06-13T11:05:52.9961938Z             },
2026-06-13T11:05:52.9962053Z             {
2026-06-13T11:05:52.9962209Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-13T11:05:52.9962311Z               "line": 156
2026-06-13T11:05:52.9962424Z             },
2026-06-13T11:05:52.9962524Z             {
2026-06-13T11:05:52.9962683Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9962797Z               "line": 935
2026-06-13T11:05:52.9962902Z             },
2026-06-13T11:05:52.9963002Z             {
2026-06-13T11:05:52.9963154Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-13T11:05:52.9963270Z               "line": 957
2026-06-13T11:05:52.9963368Z             },
2026-06-13T11:05:52.9963468Z             {
2026-06-13T11:05:52.9963635Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-13T11:05:52.9963747Z               "line": 1419
2026-06-13T11:05:52.9963846Z             },
2026-06-13T11:05:52.9963948Z             {
2026-06-13T11:05:52.9964104Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-13T11:05:52.9964219Z               "line": 1004
2026-06-13T11:05:52.9964329Z             }
2026-06-13T11:05:52.9964442Z           ]
2026-06-13T11:05:52.9964549Z         }
2026-06-13T11:05:52.9964658Z       }
2026-06-13T11:05:52.9964757Z     },
2026-06-13T11:05:52.9964873Z     {
2026-06-13T11:05:52.9964992Z       "id": "REQ-SUBNET-8",
2026-06-13T11:05:52.9966185Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-13T11:05:52.9966316Z       "requiredStages": [
2026-06-13T11:05:52.9966426Z         "impl",
2026-06-13T11:05:52.9966535Z         "unit"
2026-06-13T11:05:52.9966638Z       ],
2026-06-13T11:05:52.9966757Z       "stages": {
2026-06-13T11:05:52.9966872Z         "doc": {
2026-06-13T11:05:52.9966990Z           "complete": false,
2026-06-13T11:05:52.9967106Z           "evidence": []
2026-06-13T11:05:52.9967216Z         },
2026-06-13T11:05:52.9967324Z         "impl": {
2026-06-13T11:05:52.9967440Z           "complete": true,
2026-06-13T11:05:52.9967559Z           "evidence": [
2026-06-13T11:05:52.9967663Z             {
2026-06-13T11:05:52.9967802Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9967920Z               "line": 2962
2026-06-13T11:05:52.9968026Z             },
2026-06-13T11:05:52.9968131Z             {
2026-06-13T11:05:52.9968268Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9968384Z               "line": 2991
2026-06-13T11:05:52.9968492Z             },
2026-06-13T11:05:52.9968598Z             {
2026-06-13T11:05:52.9968728Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9968840Z               "line": 3008
2026-06-13T11:05:52.9969045Z             },
2026-06-13T11:05:52.9969143Z             {
2026-06-13T11:05:52.9969275Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9969391Z               "line": 3031
2026-06-13T11:05:52.9969500Z             },
2026-06-13T11:05:52.9969615Z             {
2026-06-13T11:05:52.9969739Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9969857Z               "line": 3445
2026-06-13T11:05:52.9969958Z             }
2026-06-13T11:05:52.9970068Z           ]
2026-06-13T11:05:52.9970177Z         },
2026-06-13T11:05:52.9970283Z         "int": {
2026-06-13T11:05:52.9970401Z           "complete": false,
2026-06-13T11:05:52.9970622Z           "evidence": []
2026-06-13T11:05:52.9970735Z         },
2026-06-13T11:05:52.9970845Z         "unit": {
2026-06-13T11:05:52.9970961Z           "complete": true,
2026-06-13T11:05:52.9971078Z           "evidence": [
2026-06-13T11:05:52.9971178Z             {
2026-06-13T11:05:52.9971308Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9971513Z               "line": 7807
2026-06-13T11:05:52.9971618Z             },
2026-06-13T11:05:52.9971731Z             {
2026-06-13T11:05:52.9971859Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9971975Z               "line": 7823
2026-06-13T11:05:52.9972079Z             }
2026-06-13T11:05:52.9972193Z           ]
2026-06-13T11:05:52.9972303Z         }
2026-06-13T11:05:52.9972412Z       }
2026-06-13T11:05:52.9972518Z     },
2026-06-13T11:05:52.9972623Z     {
2026-06-13T11:05:52.9972741Z       "id": "REQ-TERM-1",
2026-06-13T11:05:52.9972942Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-13T11:05:52.9973070Z       "requiredStages": [
2026-06-13T11:05:52.9973177Z         "impl",
2026-06-13T11:05:52.9973290Z         "unit"
2026-06-13T11:05:52.9973399Z       ],
2026-06-13T11:05:52.9973515Z       "stages": {
2026-06-13T11:05:52.9973628Z         "doc": {
2026-06-13T11:05:52.9973743Z           "complete": false,
2026-06-13T11:05:52.9973858Z           "evidence": []
2026-06-13T11:05:52.9973967Z         },
2026-06-13T11:05:52.9974075Z         "impl": {
2026-06-13T11:05:52.9974190Z           "complete": true,
2026-06-13T11:05:52.9974307Z           "evidence": [
2026-06-13T11:05:52.9974416Z             {
2026-06-13T11:05:52.9974566Z               "path": "crates/spt-term/src/pty.rs",
2026-06-13T11:05:52.9974683Z               "line": 59
2026-06-13T11:05:52.9974789Z             },
2026-06-13T11:05:52.9974889Z             {
2026-06-13T11:05:52.9975022Z               "path": "crates/spt-term/src/pty.rs",
2026-06-13T11:05:52.9975128Z               "line": 171
2026-06-13T11:05:52.9975242Z             },
2026-06-13T11:05:52.9975346Z             {
2026-06-13T11:05:52.9975495Z               "path": "crates/spt-term/src/surface.rs",
2026-06-13T11:05:52.9975609Z               "line": 100
2026-06-13T11:05:52.9975719Z             }
2026-06-13T11:05:52.9975823Z           ]
2026-06-13T11:05:52.9975928Z         },
2026-06-13T11:05:52.9976034Z         "int": {
2026-06-13T11:05:52.9976157Z           "complete": false,
2026-06-13T11:05:52.9976266Z           "evidence": []
2026-06-13T11:05:52.9976364Z         },
2026-06-13T11:05:52.9976477Z         "unit": {
2026-06-13T11:05:52.9976595Z           "complete": true,
2026-06-13T11:05:52.9976711Z           "evidence": [
2026-06-13T11:05:52.9976810Z             {
2026-06-13T11:05:52.9976952Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-13T11:05:52.9977071Z               "line": 24
2026-06-13T11:05:52.9977170Z             },
2026-06-13T11:05:52.9977278Z             {
2026-06-13T11:05:52.9977418Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-13T11:05:52.9977536Z               "line": 56
2026-06-13T11:05:52.9977637Z             }
2026-06-13T11:05:52.9977737Z           ]
2026-06-13T11:05:52.9977846Z         }
2026-06-13T11:05:52.9977937Z       }
2026-06-13T11:05:52.9978038Z     },
2026-06-13T11:05:52.9978138Z     {
2026-06-13T11:05:52.9978256Z       "id": "REQ-TERM-2",
2026-06-13T11:05:52.9978476Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-13T11:05:52.9978596Z       "requiredStages": [
2026-06-13T11:05:52.9978705Z         "impl",
2026-06-13T11:05:52.9978800Z         "unit"
2026-06-13T11:05:52.9978906Z       ],
2026-06-13T11:05:52.9979095Z       "stages": {
2026-06-13T11:05:52.9979206Z         "doc": {
2026-06-13T11:05:52.9979321Z           "complete": false,
2026-06-13T11:05:52.9979438Z           "evidence": []
2026-06-13T11:05:52.9979548Z         },
2026-06-13T11:05:52.9979661Z         "impl": {
2026-06-13T11:05:52.9979779Z           "complete": true,
2026-06-13T11:05:52.9979888Z           "evidence": [
2026-06-13T11:05:52.9980117Z             {
2026-06-13T11:05:52.9980261Z               "path": "crates/spt-term/src/surface.rs",
2026-06-13T11:05:52.9980375Z               "line": 117
2026-06-13T11:05:52.9980484Z             },
2026-06-13T11:05:52.9980590Z             {
2026-06-13T11:05:52.9980732Z               "path": "crates/spt-term/src/surface.rs",
2026-06-13T11:05:52.9980928Z               "line": 127
2026-06-13T11:05:52.9981033Z             }
2026-06-13T11:05:52.9981138Z           ]
2026-06-13T11:05:52.9981239Z         },
2026-06-13T11:05:52.9981352Z         "int": {
2026-06-13T11:05:52.9981468Z           "complete": false,
2026-06-13T11:05:52.9981581Z           "evidence": []
2026-06-13T11:05:52.9981686Z         },
2026-06-13T11:05:52.9981792Z         "unit": {
2026-06-13T11:05:52.9981905Z           "complete": true,
2026-06-13T11:05:52.9982020Z           "evidence": [
2026-06-13T11:05:52.9982112Z             {
2026-06-13T11:05:52.9982258Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-13T11:05:52.9982371Z               "line": 46
2026-06-13T11:05:52.9982472Z             },
2026-06-13T11:05:52.9982582Z             {
2026-06-13T11:05:52.9982734Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-13T11:05:52.9982845Z               "line": 77
2026-06-13T11:05:52.9982948Z             }
2026-06-13T11:05:52.9983054Z           ]
2026-06-13T11:05:52.9983164Z         }
2026-06-13T11:05:52.9983263Z       }
2026-06-13T11:05:52.9983364Z     },
2026-06-13T11:05:52.9983469Z     {
2026-06-13T11:05:52.9983588Z       "id": "REQ-TERM-3",
2026-06-13T11:05:52.9983761Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-13T11:05:52.9983879Z       "requiredStages": [
2026-06-13T11:05:52.9983988Z         "impl",
2026-06-13T11:05:52.9984089Z         "unit"
2026-06-13T11:05:52.9984198Z       ],
2026-06-13T11:05:52.9984308Z       "stages": {
2026-06-13T11:05:52.9984418Z         "doc": {
2026-06-13T11:05:52.9984536Z           "complete": false,
2026-06-13T11:05:52.9984640Z           "evidence": []
2026-06-13T11:05:52.9984736Z         },
2026-06-13T11:05:52.9984848Z         "impl": {
2026-06-13T11:05:52.9984962Z           "complete": true,
2026-06-13T11:05:52.9985073Z           "evidence": [
2026-06-13T11:05:52.9985172Z             {
2026-06-13T11:05:52.9985325Z               "path": "crates/spt-term/src/stream.rs",
2026-06-13T11:05:52.9985435Z               "line": 71
2026-06-13T11:05:52.9985539Z             }
2026-06-13T11:05:52.9985635Z           ]
2026-06-13T11:05:52.9985745Z         },
2026-06-13T11:05:52.9985854Z         "int": {
2026-06-13T11:05:52.9985965Z           "complete": false,
2026-06-13T11:05:52.9986083Z           "evidence": []
2026-06-13T11:05:52.9986183Z         },
2026-06-13T11:05:52.9986294Z         "unit": {
2026-06-13T11:05:52.9986398Z           "complete": true,
2026-06-13T11:05:52.9986512Z           "evidence": [
2026-06-13T11:05:52.9986609Z             {
2026-06-13T11:05:52.9986746Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-13T11:05:52.9986865Z               "line": 37
2026-06-13T11:05:52.9986961Z             },
2026-06-13T11:05:52.9987060Z             {
2026-06-13T11:05:52.9987195Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-13T11:05:52.9987310Z               "line": 67
2026-06-13T11:05:52.9987417Z             }
2026-06-13T11:05:52.9987522Z           ]
2026-06-13T11:05:52.9987627Z         }
2026-06-13T11:05:52.9987725Z       }
2026-06-13T11:05:52.9987824Z     },
2026-06-13T11:05:52.9987925Z     {
2026-06-13T11:05:52.9988040Z       "id": "REQ-TERM-4",
2026-06-13T11:05:52.9988430Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-13T11:05:52.9988545Z       "requiredStages": [
2026-06-13T11:05:52.9988660Z         "impl",
2026-06-13T11:05:52.9988754Z         "unit",
2026-06-13T11:05:52.9988865Z         "int"
2026-06-13T11:05:52.9989045Z       ],
2026-06-13T11:05:52.9989161Z       "stages": {
2026-06-13T11:05:52.9989270Z         "doc": {
2026-06-13T11:05:52.9989481Z           "complete": true,
2026-06-13T11:05:52.9989594Z           "evidence": [
2026-06-13T11:05:52.9989689Z             {
2026-06-13T11:05:52.9989829Z               "path": "docs/MANIFEST.md",
2026-06-13T11:05:52.9989942Z               "line": 115
2026-06-13T11:05:52.9990050Z             }
2026-06-13T11:05:52.9990250Z           ]
2026-06-13T11:05:52.9990343Z         },
2026-06-13T11:05:52.9990458Z         "impl": {
2026-06-13T11:05:52.9990574Z           "complete": true,
2026-06-13T11:05:52.9990687Z           "evidence": [
2026-06-13T11:05:52.9990783Z             {
2026-06-13T11:05:52.9990935Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:52.9991044Z               "line": 759
2026-06-13T11:05:52.9991146Z             },
2026-06-13T11:05:52.9991245Z             {
2026-06-13T11:05:52.9991384Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:52.9991498Z               "line": 41
2026-06-13T11:05:52.9991602Z             },
2026-06-13T11:05:52.9991718Z             {
2026-06-13T11:05:52.9991850Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:52.9991965Z               "line": 91
2026-06-13T11:05:52.9992061Z             },
2026-06-13T11:05:52.9992160Z             {
2026-06-13T11:05:52.9992294Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:52.9992410Z               "line": 152
2026-06-13T11:05:52.9992517Z             },
2026-06-13T11:05:52.9992628Z             {
2026-06-13T11:05:52.9992767Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:52.9992880Z               "line": 221
2026-06-13T11:05:52.9992980Z             },
2026-06-13T11:05:52.9993090Z             {
2026-06-13T11:05:52.9993242Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T11:05:52.9993357Z               "line": 20
2026-06-13T11:05:52.9993462Z             },
2026-06-13T11:05:52.9993571Z             {
2026-06-13T11:05:52.9993724Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T11:05:52.9993837Z               "line": 222
2026-06-13T11:05:52.9993953Z             },
2026-06-13T11:05:52.9994057Z             {
2026-06-13T11:05:52.9994205Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T11:05:52.9994321Z               "line": 242
2026-06-13T11:05:52.9994424Z             },
2026-06-13T11:05:52.9994534Z             {
2026-06-13T11:05:52.9994682Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:52.9994796Z               "line": 699
2026-06-13T11:05:52.9994907Z             },
2026-06-13T11:05:52.9995016Z             {
2026-06-13T11:05:52.9995157Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T11:05:52.9995272Z               "line": 162
2026-06-13T11:05:52.9995380Z             },
2026-06-13T11:05:52.9995484Z             {
2026-06-13T11:05:52.9995623Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T11:05:52.9995737Z               "line": 206
2026-06-13T11:05:52.9995847Z             },
2026-06-13T11:05:52.9995957Z             {
2026-06-13T11:05:52.9996095Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T11:05:52.9996210Z               "line": 233
2026-06-13T11:05:52.9996319Z             },
2026-06-13T11:05:52.9996424Z             {
2026-06-13T11:05:52.9996563Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:52.9996681Z               "line": 926
2026-06-13T11:05:52.9996791Z             }
2026-06-13T11:05:52.9996892Z           ]
2026-06-13T11:05:52.9997001Z         },
2026-06-13T11:05:52.9997105Z         "int": {
2026-06-13T11:05:52.9997226Z           "complete": true,
2026-06-13T11:05:52.9997344Z           "evidence": [
2026-06-13T11:05:52.9997450Z             {
2026-06-13T11:05:52.9997601Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-13T11:05:52.9997711Z               "line": 18
2026-06-13T11:05:52.9997818Z             }
2026-06-13T11:05:52.9997930Z           ]
2026-06-13T11:05:52.9998043Z         },
2026-06-13T11:05:52.9998229Z         "unit": {
2026-06-13T11:05:52.9998346Z           "complete": true,
2026-06-13T11:05:52.9998462Z           "evidence": [
2026-06-13T11:05:52.9998567Z             {
2026-06-13T11:05:52.9998714Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:52.9998824Z               "line": 259
2026-06-13T11:05:52.9998933Z             },
2026-06-13T11:05:52.9999220Z             {
2026-06-13T11:05:52.9999363Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:52.9999478Z               "line": 277
2026-06-13T11:05:52.9999582Z             },
2026-06-13T11:05:52.9999691Z             {
2026-06-13T11:05:52.9999835Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:52.9999953Z               "line": 289
2026-06-13T11:05:53.0000064Z             },
2026-06-13T11:05:53.0000168Z             {
2026-06-13T11:05:53.0000317Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:53.0000431Z               "line": 304
2026-06-13T11:05:53.0000548Z             },
2026-06-13T11:05:53.0000653Z             {
2026-06-13T11:05:53.0000810Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:53.0000927Z               "line": 320
2026-06-13T11:05:53.0001028Z             },
2026-06-13T11:05:53.0001143Z             {
2026-06-13T11:05:53.0001280Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:53.0001401Z               "line": 346
2026-06-13T11:05:53.0001505Z             },
2026-06-13T11:05:53.0001624Z             {
2026-06-13T11:05:53.0001777Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:53.0001886Z               "line": 361
2026-06-13T11:05:53.0002001Z             },
2026-06-13T11:05:53.0002105Z             {
2026-06-13T11:05:53.0002253Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-13T11:05:53.0002364Z               "line": 391
2026-06-13T11:05:53.0002477Z             },
2026-06-13T11:05:53.0002583Z             {
2026-06-13T11:05:53.0002730Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T11:05:53.0002854Z               "line": 365
2026-06-13T11:05:53.0002960Z             },
2026-06-13T11:05:53.0003068Z             {
2026-06-13T11:05:53.0003218Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T11:05:53.0003337Z               "line": 382
2026-06-13T11:05:53.0003449Z             },
2026-06-13T11:05:53.0003559Z             {
2026-06-13T11:05:53.0003712Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T11:05:53.0003825Z               "line": 411
2026-06-13T11:05:53.0003936Z             },
2026-06-13T11:05:53.0004045Z             {
2026-06-13T11:05:53.0004198Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-13T11:05:53.0004317Z               "line": 428
2026-06-13T11:05:53.0004426Z             },
2026-06-13T11:05:53.0004532Z             {
2026-06-13T11:05:53.0004680Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:53.0004803Z               "line": 902
2026-06-13T11:05:53.0004918Z             },
2026-06-13T11:05:53.0005018Z             {
2026-06-13T11:05:53.0005167Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:53.0005280Z               "line": 909
2026-06-13T11:05:53.0005394Z             },
2026-06-13T11:05:53.0005496Z             {
2026-06-13T11:05:53.0005647Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:53.0005770Z               "line": 924
2026-06-13T11:05:53.0005875Z             },
2026-06-13T11:05:53.0005983Z             {
2026-06-13T11:05:53.0006121Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T11:05:53.0006236Z               "line": 420
2026-06-13T11:05:53.0006340Z             },
2026-06-13T11:05:53.0006450Z             {
2026-06-13T11:05:53.0006593Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T11:05:53.0006711Z               "line": 458
2026-06-13T11:05:53.0006817Z             },
2026-06-13T11:05:53.0006926Z             {
2026-06-13T11:05:53.0007170Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T11:05:53.0007284Z               "line": 471
2026-06-13T11:05:53.0007394Z             },
2026-06-13T11:05:53.0007499Z             {
2026-06-13T11:05:53.0007637Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T11:05:53.0007753Z               "line": 497
2026-06-13T11:05:53.0007937Z             },
2026-06-13T11:05:53.0008048Z             {
2026-06-13T11:05:53.0008185Z               "path": "crates/spt-term/src/digest.rs",
2026-06-13T11:05:53.0008305Z               "line": 524
2026-06-13T11:05:53.0008420Z             },
2026-06-13T11:05:53.0008524Z             {
2026-06-13T11:05:53.0008670Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-13T11:05:53.0008779Z               "line": 32
2026-06-13T11:05:53.0008892Z             },
2026-06-13T11:05:53.0009089Z             {
2026-06-13T11:05:53.0009226Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0009346Z               "line": 7374
2026-06-13T11:05:53.0009456Z             }
2026-06-13T11:05:53.0009564Z           ]
2026-06-13T11:05:53.0009671Z         }
2026-06-13T11:05:53.0009780Z       }
2026-06-13T11:05:53.0009884Z     },
2026-06-13T11:05:53.0009990Z     {
2026-06-13T11:05:53.0010118Z       "id": "REQ-UPD-1",
2026-06-13T11:05:53.0010261Z       "title": "Peer-propagated update over P2P",
2026-06-13T11:05:53.0010395Z       "requiredStages": [
2026-06-13T11:05:53.0010500Z         "impl",
2026-06-13T11:05:53.0010606Z         "unit",
2026-06-13T11:05:53.0010714Z         "int"
2026-06-13T11:05:53.0010824Z       ],
2026-06-13T11:05:53.0010935Z       "stages": {
2026-06-13T11:05:53.0011043Z         "doc": {
2026-06-13T11:05:53.0011166Z           "complete": false,
2026-06-13T11:05:53.0011276Z           "evidence": []
2026-06-13T11:05:53.0011384Z         },
2026-06-13T11:05:53.0011492Z         "impl": {
2026-06-13T11:05:53.0011612Z           "complete": true,
2026-06-13T11:05:53.0011727Z           "evidence": [
2026-06-13T11:05:53.0011831Z             {
2026-06-13T11:05:53.0011989Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0012098Z               "line": 28
2026-06-13T11:05:53.0012213Z             },
2026-06-13T11:05:53.0012322Z             {
2026-06-13T11:05:53.0012480Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0012590Z               "line": 103
2026-06-13T11:05:53.0012700Z             },
2026-06-13T11:05:53.0012809Z             {
2026-06-13T11:05:53.0012952Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0013070Z               "line": 342
2026-06-13T11:05:53.0013182Z             },
2026-06-13T11:05:53.0013295Z             {
2026-06-13T11:05:53.0013439Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0013549Z               "line": 22
2026-06-13T11:05:53.0013657Z             },
2026-06-13T11:05:53.0013754Z             {
2026-06-13T11:05:53.0013906Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0014024Z               "line": 207
2026-06-13T11:05:53.0014133Z             },
2026-06-13T11:05:53.0014230Z             {
2026-06-13T11:05:53.0014371Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0014492Z               "line": 283
2026-06-13T11:05:53.0014597Z             },
2026-06-13T11:05:53.0014705Z             {
2026-06-13T11:05:53.0014849Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0014958Z               "line": 340
2026-06-13T11:05:53.0015068Z             },
2026-06-13T11:05:53.0015178Z             {
2026-06-13T11:05:53.0015330Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T11:05:53.0015436Z               "line": 37
2026-06-13T11:05:53.0015544Z             }
2026-06-13T11:05:53.0015654Z           ]
2026-06-13T11:05:53.0015756Z         },
2026-06-13T11:05:53.0015859Z         "int": {
2026-06-13T11:05:53.0015984Z           "complete": true,
2026-06-13T11:05:53.0016090Z           "evidence": [
2026-06-13T11:05:53.0016292Z             {
2026-06-13T11:05:53.0016454Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-13T11:05:53.0016567Z               "line": 207
2026-06-13T11:05:53.0016672Z             },
2026-06-13T11:05:53.0016777Z             {
2026-06-13T11:05:53.0016924Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-13T11:05:53.0017130Z               "line": 987
2026-06-13T11:05:53.0017234Z             }
2026-06-13T11:05:53.0017345Z           ]
2026-06-13T11:05:53.0017444Z         },
2026-06-13T11:05:53.0017548Z         "unit": {
2026-06-13T11:05:53.0017664Z           "complete": true,
2026-06-13T11:05:53.0017778Z           "evidence": [
2026-06-13T11:05:53.0017877Z             {
2026-06-13T11:05:53.0018026Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0018131Z               "line": 490
2026-06-13T11:05:53.0018235Z             },
2026-06-13T11:05:53.0018332Z             {
2026-06-13T11:05:53.0018483Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0018589Z               "line": 616
2026-06-13T11:05:53.0018698Z             },
2026-06-13T11:05:53.0018798Z             {
2026-06-13T11:05:53.0019027Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T11:05:53.0019131Z               "line": 277
2026-06-13T11:05:53.0019231Z             },
2026-06-13T11:05:53.0019339Z             {
2026-06-13T11:05:53.0019481Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T11:05:53.0019601Z               "line": 124
2026-06-13T11:05:53.0019701Z             },
2026-06-13T11:05:53.0019810Z             {
2026-06-13T11:05:53.0019954Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T11:05:53.0020058Z               "line": 200
2026-06-13T11:05:53.0020163Z             }
2026-06-13T11:05:53.0020264Z           ]
2026-06-13T11:05:53.0020373Z         }
2026-06-13T11:05:53.0020473Z       }
2026-06-13T11:05:53.0020583Z     },
2026-06-13T11:05:53.0020693Z     {
2026-06-13T11:05:53.0020802Z       "id": "REQ-UPD-2",
2026-06-13T11:05:53.0020969Z       "title": "All binaries signature-verified before handoff",
2026-06-13T11:05:53.0021088Z       "requiredStages": [
2026-06-13T11:05:53.0021190Z         "impl",
2026-06-13T11:05:53.0021293Z         "unit"
2026-06-13T11:05:53.0021398Z       ],
2026-06-13T11:05:53.0021505Z       "stages": {
2026-06-13T11:05:53.0021603Z         "doc": {
2026-06-13T11:05:53.0021721Z           "complete": false,
2026-06-13T11:05:53.0021827Z           "evidence": []
2026-06-13T11:05:53.0021930Z         },
2026-06-13T11:05:53.0022038Z         "impl": {
2026-06-13T11:05:53.0022158Z           "complete": true,
2026-06-13T11:05:53.0022277Z           "evidence": [
2026-06-13T11:05:53.0022386Z             {
2026-06-13T11:05:53.0022540Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0022649Z               "line": 343
2026-06-13T11:05:53.0022749Z             },
2026-06-13T11:05:53.0022859Z             {
2026-06-13T11:05:53.0023015Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0023131Z               "line": 476
2026-06-13T11:05:53.0023240Z             },
2026-06-13T11:05:53.0023350Z             {
2026-06-13T11:05:53.0023493Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0023612Z               "line": 29
2026-06-13T11:05:53.0023728Z             },
2026-06-13T11:05:53.0023836Z             {
2026-06-13T11:05:53.0023984Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0024095Z               "line": 271
2026-06-13T11:05:53.0024212Z             },
2026-06-13T11:05:53.0024319Z             {
2026-06-13T11:05:53.0024471Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0024584Z               "line": 288
2026-06-13T11:05:53.0024694Z             },
2026-06-13T11:05:53.0024804Z             {
2026-06-13T11:05:53.0024946Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0025057Z               "line": 408
2026-06-13T11:05:53.0025270Z             },
2026-06-13T11:05:53.0025376Z             {
2026-06-13T11:05:53.0025523Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0025638Z               "line": 540
2026-06-13T11:05:53.0025747Z             },
2026-06-13T11:05:53.0025852Z             {
2026-06-13T11:05:53.0025996Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0026200Z               "line": 155
2026-06-13T11:05:53.0026311Z             }
2026-06-13T11:05:53.0026419Z           ]
2026-06-13T11:05:53.0026524Z         },
2026-06-13T11:05:53.0026635Z         "int": {
2026-06-13T11:05:53.0026753Z           "complete": false,
2026-06-13T11:05:53.0026871Z           "evidence": []
2026-06-13T11:05:53.0026981Z         },
2026-06-13T11:05:53.0027093Z         "unit": {
2026-06-13T11:05:53.0027217Z           "complete": true,
2026-06-13T11:05:53.0027327Z           "evidence": [
2026-06-13T11:05:53.0027436Z             {
2026-06-13T11:05:53.0027584Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0027700Z               "line": 697
2026-06-13T11:05:53.0027808Z             },
2026-06-13T11:05:53.0027919Z             {
2026-06-13T11:05:53.0028061Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0028176Z               "line": 758
2026-06-13T11:05:53.0028286Z             },
2026-06-13T11:05:53.0028395Z             {
2026-06-13T11:05:53.0028539Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0028652Z               "line": 772
2026-06-13T11:05:53.0028762Z             },
2026-06-13T11:05:53.0028873Z             {
2026-06-13T11:05:53.0029110Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0029231Z               "line": 788
2026-06-13T11:05:53.0029334Z             },
2026-06-13T11:05:53.0029450Z             {
2026-06-13T11:05:53.0029596Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0029715Z               "line": 879
2026-06-13T11:05:53.0029824Z             },
2026-06-13T11:05:53.0029932Z             {
2026-06-13T11:05:53.0030079Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0030195Z               "line": 414
2026-06-13T11:05:53.0030304Z             },
2026-06-13T11:05:53.0030408Z             {
2026-06-13T11:05:53.0030562Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0030675Z               "line": 427
2026-06-13T11:05:53.0030791Z             },
2026-06-13T11:05:53.0030896Z             {
2026-06-13T11:05:53.0031053Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T11:05:53.0031167Z               "line": 410
2026-06-13T11:05:53.0031271Z             }
2026-06-13T11:05:53.0031382Z           ]
2026-06-13T11:05:53.0031491Z         }
2026-06-13T11:05:53.0031600Z       }
2026-06-13T11:05:53.0031706Z     },
2026-06-13T11:05:53.0031816Z     {
2026-06-13T11:05:53.0031930Z       "id": "REQ-UPD-3",
2026-06-13T11:05:53.0032131Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-13T11:05:53.0032257Z       "requiredStages": [
2026-06-13T11:05:53.0032377Z         "impl",
2026-06-13T11:05:53.0032485Z         "unit",
2026-06-13T11:05:53.0032593Z         "int"
2026-06-13T11:05:53.0032699Z       ],
2026-06-13T11:05:53.0032809Z       "stages": {
2026-06-13T11:05:53.0032917Z         "doc": {
2026-06-13T11:05:53.0033038Z           "complete": false,
2026-06-13T11:05:53.0033157Z           "evidence": []
2026-06-13T11:05:53.0033261Z         },
2026-06-13T11:05:53.0033376Z         "impl": {
2026-06-13T11:05:53.0033495Z           "complete": true,
2026-06-13T11:05:53.0033610Z           "evidence": [
2026-06-13T11:05:53.0033715Z             {
2026-06-13T11:05:53.0033862Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0033978Z               "line": 40
2026-06-13T11:05:53.0034077Z             },
2026-06-13T11:05:53.0034187Z             {
2026-06-13T11:05:53.0034326Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0034529Z               "line": 87
2026-06-13T11:05:53.0034627Z             },
2026-06-13T11:05:53.0034725Z             {
2026-06-13T11:05:53.0034864Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-13T11:05:53.0034979Z               "line": 935
2026-06-13T11:05:53.0035087Z             },
2026-06-13T11:05:53.0035282Z             {
2026-06-13T11:05:53.0035426Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-13T11:05:53.0035530Z               "line": 717
2026-06-13T11:05:53.0035641Z             },
2026-06-13T11:05:53.0035740Z             {
2026-06-13T11:05:53.0035874Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0035993Z               "line": 26
2026-06-13T11:05:53.0036102Z             },
2026-06-13T11:05:53.0036213Z             {
2026-06-13T11:05:53.0036350Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0036469Z               "line": 114
2026-06-13T11:05:53.0036571Z             },
2026-06-13T11:05:53.0036679Z             {
2026-06-13T11:05:53.0036823Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0036942Z               "line": 246
2026-06-13T11:05:53.0037051Z             },
2026-06-13T11:05:53.0037147Z             {
2026-06-13T11:05:53.0037280Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0037398Z               "line": 1906
2026-06-13T11:05:53.0037503Z             }
2026-06-13T11:05:53.0037616Z           ]
2026-06-13T11:05:53.0037720Z         },
2026-06-13T11:05:53.0037835Z         "int": {
2026-06-13T11:05:53.0037954Z           "complete": true,
2026-06-13T11:05:53.0038063Z           "evidence": [
2026-06-13T11:05:53.0038169Z             {
2026-06-13T11:05:53.0038316Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-13T11:05:53.0038426Z               "line": 58
2026-06-13T11:05:53.0038536Z             }
2026-06-13T11:05:53.0038640Z           ]
2026-06-13T11:05:53.0038736Z         },
2026-06-13T11:05:53.0038837Z         "unit": {
2026-06-13T11:05:53.0039027Z           "complete": true,
2026-06-13T11:05:53.0039142Z           "evidence": [
2026-06-13T11:05:53.0039251Z             {
2026-06-13T11:05:53.0039400Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0039518Z               "line": 532
2026-06-13T11:05:53.0039627Z             },
2026-06-13T11:05:53.0042232Z             {
2026-06-13T11:05:53.0042437Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0042552Z               "line": 582
2026-06-13T11:05:53.0042658Z             },
2026-06-13T11:05:53.0042766Z             {
2026-06-13T11:05:53.0042927Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0043045Z               "line": 650
2026-06-13T11:05:53.0043149Z             },
2026-06-13T11:05:53.0043259Z             {
2026-06-13T11:05:53.0043416Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-13T11:05:53.0043536Z               "line": 1062
2026-06-13T11:05:53.0043641Z             },
2026-06-13T11:05:53.0043764Z             {
2026-06-13T11:05:53.0043918Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0044027Z               "line": 271
2026-06-13T11:05:53.0044140Z             },
2026-06-13T11:05:53.0044242Z             {
2026-06-13T11:05:53.0044394Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0044508Z               "line": 295
2026-06-13T11:05:53.0044623Z             },
2026-06-13T11:05:53.0044732Z             {
2026-06-13T11:05:53.0044877Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0044999Z               "line": 316
2026-06-13T11:05:53.0045104Z             },
2026-06-13T11:05:53.0045210Z             {
2026-06-13T11:05:53.0045357Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0045468Z               "line": 332
2026-06-13T11:05:53.0045581Z             }
2026-06-13T11:05:53.0045690Z           ]
2026-06-13T11:05:53.0045799Z         }
2026-06-13T11:05:53.0046037Z       }
2026-06-13T11:05:53.0046148Z     },
2026-06-13T11:05:53.0046248Z     {
2026-06-13T11:05:53.0046366Z       "id": "REQ-UPD-4",
2026-06-13T11:05:53.0046587Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-13T11:05:53.0046710Z       "requiredStages": [
2026-06-13T11:05:53.0046820Z         "impl",
2026-06-13T11:05:53.0047039Z         "unit"
2026-06-13T11:05:53.0047145Z       ],
2026-06-13T11:05:53.0047254Z       "stages": {
2026-06-13T11:05:53.0047359Z         "doc": {
2026-06-13T11:05:53.0047483Z           "complete": false,
2026-06-13T11:05:53.0047597Z           "evidence": []
2026-06-13T11:05:53.0047702Z         },
2026-06-13T11:05:53.0047812Z         "impl": {
2026-06-13T11:05:53.0047930Z           "complete": true,
2026-06-13T11:05:53.0048039Z           "evidence": [
2026-06-13T11:05:53.0048153Z             {
2026-06-13T11:05:53.0048313Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0048429Z               "line": 41
2026-06-13T11:05:53.0048543Z             },
2026-06-13T11:05:53.0048642Z             {
2026-06-13T11:05:53.0048800Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0048909Z               "line": 88
2026-06-13T11:05:53.0049106Z             },
2026-06-13T11:05:53.0049214Z             {
2026-06-13T11:05:53.0049363Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T11:05:53.0049482Z               "line": 23
2026-06-13T11:05:53.0049587Z             },
2026-06-13T11:05:53.0049692Z             {
2026-06-13T11:05:53.0049840Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T11:05:53.0049960Z               "line": 56
2026-06-13T11:05:53.0050069Z             },
2026-06-13T11:05:53.0050173Z             {
2026-06-13T11:05:53.0050318Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T11:05:53.0050426Z               "line": 77
2026-06-13T11:05:53.0050536Z             },
2026-06-13T11:05:53.0050637Z             {
2026-06-13T11:05:53.0050797Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-13T11:05:53.0050911Z               "line": 186
2026-06-13T11:05:53.0051020Z             },
2026-06-13T11:05:53.0051123Z             {
2026-06-13T11:05:53.0051271Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-13T11:05:53.0051387Z               "line": 108
2026-06-13T11:05:53.0051500Z             },
2026-06-13T11:05:53.0051611Z             {
2026-06-13T11:05:53.0051753Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:53.0051868Z               "line": 170
2026-06-13T11:05:53.0051977Z             },
2026-06-13T11:05:53.0052081Z             {
2026-06-13T11:05:53.0052211Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0052325Z               "line": 1905
2026-06-13T11:05:53.0052430Z             }
2026-06-13T11:05:53.0052536Z           ]
2026-06-13T11:05:53.0052644Z         },
2026-06-13T11:05:53.0052754Z         "int": {
2026-06-13T11:05:53.0052870Z           "complete": false,
2026-06-13T11:05:53.0052982Z           "evidence": []
2026-06-13T11:05:53.0053093Z         },
2026-06-13T11:05:53.0053199Z         "unit": {
2026-06-13T11:05:53.0053321Z           "complete": true,
2026-06-13T11:05:53.0053434Z           "evidence": [
2026-06-13T11:05:53.0053540Z             {
2026-06-13T11:05:53.0053690Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0053809Z               "line": 578
2026-06-13T11:05:53.0053911Z             },
2026-06-13T11:05:53.0054009Z             {
2026-06-13T11:05:53.0054163Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0054272Z               "line": 703
2026-06-13T11:05:53.0054376Z             },
2026-06-13T11:05:53.0054469Z             {
2026-06-13T11:05:53.0054615Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-13T11:05:53.0054730Z               "line": 384
2026-06-13T11:05:53.0054826Z             },
2026-06-13T11:05:53.0054935Z             {
2026-06-13T11:05:53.0055069Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T11:05:53.0055278Z               "line": 102
2026-06-13T11:05:53.0055374Z             },
2026-06-13T11:05:53.0055474Z             {
2026-06-13T11:05:53.0055626Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T11:05:53.0055737Z               "line": 123
2026-06-13T11:05:53.0055931Z             },
2026-06-13T11:05:53.0056028Z             {
2026-06-13T11:05:53.0056169Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-13T11:05:53.0056282Z               "line": 142
2026-06-13T11:05:53.0056389Z             },
2026-06-13T11:05:53.0056494Z             {
2026-06-13T11:05:53.0056631Z               "path": "crates/spt-store/src/info.rs",
2026-06-13T11:05:53.0056746Z               "line": 386
2026-06-13T11:05:53.0056846Z             },
2026-06-13T11:05:53.0056940Z             {
2026-06-13T11:05:53.0057071Z               "path": "crates/spt-store/src/perch.rs",
2026-06-13T11:05:53.0057189Z               "line": 566
2026-06-13T11:05:53.0057290Z             },
2026-06-13T11:05:53.0057385Z             {
2026-06-13T11:05:53.0057518Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0057633Z               "line": 6051
2026-06-13T11:05:53.0057733Z             }
2026-06-13T11:05:53.0057828Z           ]
2026-06-13T11:05:53.0057924Z         }
2026-06-13T11:05:53.0058029Z       }
2026-06-13T11:05:53.0058133Z     },
2026-06-13T11:05:53.0058234Z     {
2026-06-13T11:05:53.0058339Z       "id": "REQ-UPD-5",
2026-06-13T11:05:53.0058509Z       "title": "spt-core ripple-updates registered adapters",
2026-06-13T11:05:53.0058628Z       "requiredStages": [
2026-06-13T11:05:53.0058736Z         "impl",
2026-06-13T11:05:53.0058845Z         "unit"
2026-06-13T11:05:53.0059027Z       ],
2026-06-13T11:05:53.0059140Z       "stages": {
2026-06-13T11:05:53.0059241Z         "doc": {
2026-06-13T11:05:53.0059360Z           "complete": false,
2026-06-13T11:05:53.0059474Z           "evidence": []
2026-06-13T11:05:53.0059576Z         },
2026-06-13T11:05:53.0059684Z         "impl": {
2026-06-13T11:05:53.0059798Z           "complete": true,
2026-06-13T11:05:53.0059914Z           "evidence": [
2026-06-13T11:05:53.0060009Z             {
2026-06-13T11:05:53.0060166Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:53.0060272Z               "line": 27
2026-06-13T11:05:53.0060381Z             },
2026-06-13T11:05:53.0060490Z             {
2026-06-13T11:05:53.0060643Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:53.0060757Z               "line": 82
2026-06-13T11:05:53.0060854Z             },
2026-06-13T11:05:53.0060958Z             {
2026-06-13T11:05:53.0061106Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:53.0061221Z               "line": 134
2026-06-13T11:05:53.0061324Z             },
2026-06-13T11:05:53.0061428Z             {
2026-06-13T11:05:53.0061562Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0061665Z               "line": 492
2026-06-13T11:05:53.0061774Z             },
2026-06-13T11:05:53.0061871Z             {
2026-06-13T11:05:53.0062012Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0062123Z               "line": 528
2026-06-13T11:05:53.0062223Z             }
2026-06-13T11:05:53.0062322Z           ]
2026-06-13T11:05:53.0062418Z         },
2026-06-13T11:05:53.0062533Z         "int": {
2026-06-13T11:05:53.0062646Z           "complete": false,
2026-06-13T11:05:53.0062762Z           "evidence": []
2026-06-13T11:05:53.0062866Z         },
2026-06-13T11:05:53.0062961Z         "unit": {
2026-06-13T11:05:53.0063082Z           "complete": true,
2026-06-13T11:05:53.0063191Z           "evidence": [
2026-06-13T11:05:53.0063295Z             {
2026-06-13T11:05:53.0063444Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:53.0063566Z               "line": 232
2026-06-13T11:05:53.0063677Z             },
2026-06-13T11:05:53.0063783Z             {
2026-06-13T11:05:53.0063929Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:53.0064133Z               "line": 246
2026-06-13T11:05:53.0064231Z             },
2026-06-13T11:05:53.0064341Z             {
2026-06-13T11:05:53.0064490Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:53.0064598Z               "line": 260
2026-06-13T11:05:53.0064799Z             },
2026-06-13T11:05:53.0064889Z             {
2026-06-13T11:05:53.0065033Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:53.0065148Z               "line": 274
2026-06-13T11:05:53.0065247Z             },
2026-06-13T11:05:53.0065343Z             {
2026-06-13T11:05:53.0065500Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-13T11:05:53.0065614Z               "line": 308
2026-06-13T11:05:53.0065720Z             },
2026-06-13T11:05:53.0065824Z             {
2026-06-13T11:05:53.0065978Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-13T11:05:53.0066091Z               "line": 866
2026-06-13T11:05:53.0066186Z             }
2026-06-13T11:05:53.0066283Z           ]
2026-06-13T11:05:53.0066391Z         }
2026-06-13T11:05:53.0066496Z       }
2026-06-13T11:05:53.0066597Z     },
2026-06-13T11:05:53.0066702Z     {
2026-06-13T11:05:53.0066820Z       "id": "REQ-UPD-6",
2026-06-13T11:05:53.0067669Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-13T11:05:53.0067787Z       "requiredStages": [
2026-06-13T11:05:53.0067893Z         "doc",
2026-06-13T11:05:53.0067998Z         "impl",
2026-06-13T11:05:53.0068102Z         "unit",
2026-06-13T11:05:53.0068198Z         "int"
2026-06-13T11:05:53.0068307Z       ],
2026-06-13T11:05:53.0068417Z       "stages": {
2026-06-13T11:05:53.0068518Z         "doc": {
2026-06-13T11:05:53.0068627Z           "complete": true,
2026-06-13T11:05:53.0068746Z           "evidence": [
2026-06-13T11:05:53.0068862Z             {
2026-06-13T11:05:53.0069093Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-13T11:05:53.0069207Z               "line": 3
2026-06-13T11:05:53.0069306Z             },
2026-06-13T11:05:53.0069405Z             {
2026-06-13T11:05:53.0069544Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-13T11:05:53.0069663Z               "line": 3
2026-06-13T11:05:53.0069772Z             },
2026-06-13T11:05:53.0069869Z             {
2026-06-13T11:05:53.0070048Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-13T11:05:53.0070155Z               "line": 3
2026-06-13T11:05:53.0070264Z             }
2026-06-13T11:05:53.0070358Z           ]
2026-06-13T11:05:53.0070456Z         },
2026-06-13T11:05:53.0070569Z         "impl": {
2026-06-13T11:05:53.0070683Z           "complete": true,
2026-06-13T11:05:53.0070798Z           "evidence": [
2026-06-13T11:05:53.0070898Z             {
2026-06-13T11:05:53.0071051Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0071165Z               "line": 76
2026-06-13T11:05:53.0071265Z             },
2026-06-13T11:05:53.0071375Z             {
2026-06-13T11:05:53.0071513Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0071632Z               "line": 212
2026-06-13T11:05:53.0071729Z             },
2026-06-13T11:05:53.0071828Z             {
2026-06-13T11:05:53.0071974Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0072084Z               "line": 69
2026-06-13T11:05:53.0072192Z             },
2026-06-13T11:05:53.0072291Z             {
2026-06-13T11:05:53.0072440Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0072549Z               "line": 133
2026-06-13T11:05:53.0072649Z             },
2026-06-13T11:05:53.0072750Z             {
2026-06-13T11:05:53.0072892Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0073107Z               "line": 243
2026-06-13T11:05:53.0073202Z             },
2026-06-13T11:05:53.0073307Z             {
2026-06-13T11:05:53.0073455Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0073564Z               "line": 406
2026-06-13T11:05:53.0073661Z             },
2026-06-13T11:05:53.0073860Z             {
2026-06-13T11:05:53.0074009Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0074122Z               "line": 534
2026-06-13T11:05:53.0074233Z             },
2026-06-13T11:05:53.0074334Z             {
2026-06-13T11:05:53.0074484Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0074594Z               "line": 548
2026-06-13T11:05:53.0074703Z             },
2026-06-13T11:05:53.0074801Z             {
2026-06-13T11:05:53.0074935Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0075050Z               "line": 603
2026-06-13T11:05:53.0075149Z             },
2026-06-13T11:05:53.0075254Z             {
2026-06-13T11:05:53.0075388Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0075492Z               "line": 634
2026-06-13T11:05:53.0075603Z             },
2026-06-13T11:05:53.0075703Z             {
2026-06-13T11:05:53.0075860Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-13T11:05:53.0075974Z               "line": 137
2026-06-13T11:05:53.0076079Z             },
2026-06-13T11:05:53.0076179Z             {
2026-06-13T11:05:53.0076317Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-13T11:05:53.0076431Z               "line": 184
2026-06-13T11:05:53.0076528Z             },
2026-06-13T11:05:53.0076637Z             {
2026-06-13T11:05:53.0076785Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0076901Z               "line": 78
2026-06-13T11:05:53.0077003Z             },
2026-06-13T11:05:53.0077100Z             {
2026-06-13T11:05:53.0077243Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0077341Z               "line": 114
2026-06-13T11:05:53.0077441Z             },
2026-06-13T11:05:53.0077542Z             {
2026-06-13T11:05:53.0077684Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0077799Z               "line": 185
2026-06-13T11:05:53.0077909Z             },
2026-06-13T11:05:53.0078004Z             {
2026-06-13T11:05:53.0078144Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0078258Z               "line": 260
2026-06-13T11:05:53.0078352Z             },
2026-06-13T11:05:53.0078458Z             {
2026-06-13T11:05:53.0078605Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0078714Z               "line": 292
2026-06-13T11:05:53.0078821Z             },
2026-06-13T11:05:53.0078920Z             {
2026-06-13T11:05:53.0079145Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0079258Z               "line": 323
2026-06-13T11:05:53.0079358Z             },
2026-06-13T11:05:53.0079464Z             {
2026-06-13T11:05:53.0079601Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0079715Z               "line": 346
2026-06-13T11:05:53.0079814Z             },
2026-06-13T11:05:53.0079913Z             {
2026-06-13T11:05:53.0080056Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0080171Z               "line": 388
2026-06-13T11:05:53.0080280Z             },
2026-06-13T11:05:53.0080376Z             {
2026-06-13T11:05:53.0080509Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0080623Z               "line": 398
2026-06-13T11:05:53.0080729Z             },
2026-06-13T11:05:53.0080833Z             {
2026-06-13T11:05:53.0080977Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0081086Z               "line": 410
2026-06-13T11:05:53.0081191Z             },
2026-06-13T11:05:53.0081301Z             {
2026-06-13T11:05:53.0081563Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0081688Z               "line": 420
2026-06-13T11:05:53.0081801Z             },
2026-06-13T11:05:53.0081906Z             {
2026-06-13T11:05:53.0082054Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0082164Z               "line": 439
2026-06-13T11:05:53.0082388Z             },
2026-06-13T11:05:53.0082496Z             {
2026-06-13T11:05:53.0082644Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0082761Z               "line": 449
2026-06-13T11:05:53.0082865Z             },
2026-06-13T11:05:53.0082971Z             {
2026-06-13T11:05:53.0083119Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0083233Z               "line": 94
2026-06-13T11:05:53.0083343Z             },
2026-06-13T11:05:53.0083452Z             {
2026-06-13T11:05:53.0083601Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0083715Z               "line": 120
2026-06-13T11:05:53.0083829Z             },
2026-06-13T11:05:53.0083939Z             {
2026-06-13T11:05:53.0084082Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0084197Z               "line": 135
2026-06-13T11:05:53.0084306Z             },
2026-06-13T11:05:53.0084416Z             {
2026-06-13T11:05:53.0084559Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0084673Z               "line": 162
2026-06-13T11:05:53.0084778Z             },
2026-06-13T11:05:53.0084884Z             {
2026-06-13T11:05:53.0085029Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0085154Z               "line": 174
2026-06-13T11:05:53.0085263Z             },
2026-06-13T11:05:53.0085366Z             {
2026-06-13T11:05:53.0085518Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0085634Z               "line": 185
2026-06-13T11:05:53.0085742Z             },
2026-06-13T11:05:53.0085844Z             {
2026-06-13T11:05:53.0086004Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0086120Z               "line": 451
2026-06-13T11:05:53.0086229Z             },
2026-06-13T11:05:53.0086343Z             {
2026-06-13T11:05:53.0086482Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0086601Z               "line": 555
2026-06-13T11:05:53.0086711Z             },
2026-06-13T11:05:53.0086821Z             {
2026-06-13T11:05:53.0086973Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0087088Z               "line": 171
2026-06-13T11:05:53.0087197Z             },
2026-06-13T11:05:53.0087301Z             {
2026-06-13T11:05:53.0087451Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T11:05:53.0087563Z               "line": 65
2026-06-13T11:05:53.0087674Z             },
2026-06-13T11:05:53.0087785Z             {
2026-06-13T11:05:53.0087925Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T11:05:53.0088045Z               "line": 71
2026-06-13T11:05:53.0088151Z             },
2026-06-13T11:05:53.0088259Z             {
2026-06-13T11:05:53.0088403Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-13T11:05:53.0088513Z               "line": 77
2026-06-13T11:05:53.0088621Z             },
2026-06-13T11:05:53.0088728Z             {
2026-06-13T11:05:53.0088869Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:53.0089066Z               "line": 778
2026-06-13T11:05:53.0089175Z             },
2026-06-13T11:05:53.0089284Z             {
2026-06-13T11:05:53.0089418Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:53.0089532Z               "line": 795
2026-06-13T11:05:53.0089638Z             },
2026-06-13T11:05:53.0089752Z             {
2026-06-13T11:05:53.0089880Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:53.0089996Z               "line": 838
2026-06-13T11:05:53.0090109Z             },
2026-06-13T11:05:53.0090213Z             {
2026-06-13T11:05:53.0090454Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:53.0090568Z               "line": 981
2026-06-13T11:05:53.0090679Z             },
2026-06-13T11:05:53.0090788Z             {
2026-06-13T11:05:53.0090926Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:53.0091041Z               "line": 1131
2026-06-13T11:05:53.0091241Z             }
2026-06-13T11:05:53.0091351Z           ]
2026-06-13T11:05:53.0091455Z         },
2026-06-13T11:05:53.0091566Z         "int": {
2026-06-13T11:05:53.0091680Z           "complete": true,
2026-06-13T11:05:53.0091794Z           "evidence": [
2026-06-13T11:05:53.0091900Z             {
2026-06-13T11:05:53.0092051Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T11:05:53.0092161Z               "line": 569
2026-06-13T11:05:53.0092267Z             },
2026-06-13T11:05:53.0092375Z             {
2026-06-13T11:05:53.0092515Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-13T11:05:53.0092628Z               "line": 135
2026-06-13T11:05:53.0092743Z             }
2026-06-13T11:05:53.0092839Z           ]
2026-06-13T11:05:53.0092957Z         },
2026-06-13T11:05:53.0093061Z         "unit": {
2026-06-13T11:05:53.0093185Z           "complete": true,
2026-06-13T11:05:53.0093293Z           "evidence": [
2026-06-13T11:05:53.0093397Z             {
2026-06-13T11:05:53.0093551Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0093655Z               "line": 623
2026-06-13T11:05:53.0093764Z             },
2026-06-13T11:05:53.0093870Z             {
2026-06-13T11:05:53.0094017Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0094128Z               "line": 672
2026-06-13T11:05:53.0094228Z             },
2026-06-13T11:05:53.0094337Z             {
2026-06-13T11:05:53.0094485Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-13T11:05:53.0094599Z               "line": 696
2026-06-13T11:05:53.0094699Z             },
2026-06-13T11:05:53.0094805Z             {
2026-06-13T11:05:53.0094961Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0095072Z               "line": 513
2026-06-13T11:05:53.0095181Z             },
2026-06-13T11:05:53.0095281Z             {
2026-06-13T11:05:53.0095430Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0095538Z               "line": 638
2026-06-13T11:05:53.0095651Z             },
2026-06-13T11:05:53.0095747Z             {
2026-06-13T11:05:53.0095888Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0096007Z               "line": 675
2026-06-13T11:05:53.0096108Z             },
2026-06-13T11:05:53.0096212Z             {
2026-06-13T11:05:53.0096355Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0096470Z               "line": 894
2026-06-13T11:05:53.0096574Z             },
2026-06-13T11:05:53.0096670Z             {
2026-06-13T11:05:53.0096813Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0096927Z               "line": 916
2026-06-13T11:05:53.0097038Z             },
2026-06-13T11:05:53.0097132Z             {
2026-06-13T11:05:53.0097266Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0097381Z               "line": 933
2026-06-13T11:05:53.0097486Z             },
2026-06-13T11:05:53.0097600Z             {
2026-06-13T11:05:53.0097738Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0097848Z               "line": 948
2026-06-13T11:05:53.0097949Z             },
2026-06-13T11:05:53.0098058Z             {
2026-06-13T11:05:53.0098205Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0098354Z               "line": 974
2026-06-13T11:05:53.0098466Z             },
2026-06-13T11:05:53.0098566Z             {
2026-06-13T11:05:53.0098701Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-13T11:05:53.0098814Z               "line": 457
2026-06-13T11:05:53.0098920Z             },
2026-06-13T11:05:53.0099240Z             {
2026-06-13T11:05:53.0099393Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-13T11:05:53.0099511Z               "line": 338
2026-06-13T11:05:53.0099612Z             },
2026-06-13T11:05:53.0099721Z             {
2026-06-13T11:05:53.0099854Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0100069Z               "line": 8114
2026-06-13T11:05:53.0100179Z             },
2026-06-13T11:05:53.0100289Z             {
2026-06-13T11:05:53.0100435Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:53.0100552Z               "line": 1260
2026-06-13T11:05:53.0100659Z             },
2026-06-13T11:05:53.0100773Z             {
2026-06-13T11:05:53.0100912Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-13T11:05:53.0101028Z               "line": 130
2026-06-13T11:05:53.0101123Z             }
2026-06-13T11:05:53.0101234Z           ]
2026-06-13T11:05:53.0101329Z         }
2026-06-13T11:05:53.0101448Z       }
2026-06-13T11:05:53.0101558Z     },
2026-06-13T11:05:53.0101653Z     {
2026-06-13T11:05:53.0101777Z       "id": "REQ-UPD-7",
2026-06-13T11:05:53.0103886Z       "title": "Origin-source update bootstrap (`spt update fetch`): pull the latest signed release directly from the GitHub release origin (`SaberMage/spt-releases`) — the per-platform artifact + its `<asset>.release.json` SignedRelease metadata — and stage it through the EXISTING verify→stage pipeline (the same `plan_verified` gate: two-key signature + channel + monotonic rollback floor + SHA-256), after which the normal consent-notif / `spt update apply` flow is unchanged. Closes the peer-only-discovery gap (REQ-UPD-1): a first-in-fleet / isolated node can update with no peer to pull from. The signed-release anchor keeps the GitHub transport untrusted-but-verified.",
2026-06-13T11:05:53.0104015Z       "requiredStages": [
2026-06-13T11:05:53.0104120Z         "impl",
2026-06-13T11:05:53.0104220Z         "unit"
2026-06-13T11:05:53.0104329Z       ],
2026-06-13T11:05:53.0104430Z       "stages": {
2026-06-13T11:05:53.0104548Z         "doc": {
2026-06-13T11:05:53.0104664Z           "complete": false,
2026-06-13T11:05:53.0104783Z           "evidence": []
2026-06-13T11:05:53.0104887Z         },
2026-06-13T11:05:53.0104997Z         "impl": {
2026-06-13T11:05:53.0105116Z           "complete": true,
2026-06-13T11:05:53.0105226Z           "evidence": [
2026-06-13T11:05:53.0105337Z             {
2026-06-13T11:05:53.0105474Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0105593Z               "line": 2010
2026-06-13T11:05:53.0105703Z             }
2026-06-13T11:05:53.0105803Z           ]
2026-06-13T11:05:53.0105913Z         },
2026-06-13T11:05:53.0106023Z         "int": {
2026-06-13T11:05:53.0106146Z           "complete": false,
2026-06-13T11:05:53.0106255Z           "evidence": []
2026-06-13T11:05:53.0106364Z         },
2026-06-13T11:05:53.0106472Z         "unit": {
2026-06-13T11:05:53.0106576Z           "complete": true,
2026-06-13T11:05:53.0106692Z           "evidence": [
2026-06-13T11:05:53.0106796Z             {
2026-06-13T11:05:53.0106925Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0107044Z               "line": 8090
2026-06-13T11:05:53.0107149Z             }
2026-06-13T11:05:53.0107260Z           ]
2026-06-13T11:05:53.0107359Z         }
2026-06-13T11:05:53.0107473Z       }
2026-06-13T11:05:53.0107570Z     },
2026-06-13T11:05:53.0107669Z     {
2026-06-13T11:05:53.0107788Z       "id": "REQ-UPD-8",
2026-06-13T11:05:53.0110390Z       "title": "Platform-safe `spt update fetch` + apply platform-guard (v0.3.1 cross-OS brick fix): `spt update fetch` stages the signed multi-platform `SignedUpdateSet` (`update-set.json` + every platform artifact it names), never a platform-blind single `SignedRelease`, so local apply selects `current_platform()` and P2P re-serve lets each peer select ITS own platform. Defense-in-depth: `apply_staged` REFUSES a staged single-release artifact unless it is platform-stamped for THIS node (an unstamped pre-v0.3.2 single, or a single stamped for another OS, fail-safe refuses — the guard that alone prevents the v0.3.1 brick where a Linux ELF was applied as `spt.exe`). UX: a friendly post-apply message (`Updated spt-core to vX.Y.Z.` + changelog URL) driven by an additive `product_version` metadata field, with a release-counter fallback when absent.",
2026-06-13T11:05:53.0110629Z       "requiredStages": [
2026-06-13T11:05:53.0110830Z         "impl",
2026-06-13T11:05:53.0110943Z         "unit"
2026-06-13T11:05:53.0111048Z       ],
2026-06-13T11:05:53.0111159Z       "stages": {
2026-06-13T11:05:53.0111267Z         "doc": {
2026-06-13T11:05:53.0111381Z           "complete": false,
2026-06-13T11:05:53.0111495Z           "evidence": []
2026-06-13T11:05:53.0111608Z         },
2026-06-13T11:05:53.0111718Z         "impl": {
2026-06-13T11:05:53.0111833Z           "complete": true,
2026-06-13T11:05:53.0111946Z           "evidence": [
2026-06-13T11:05:53.0112056Z             {
2026-06-13T11:05:53.0112213Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0112337Z               "line": 77
2026-06-13T11:05:53.0112447Z             },
2026-06-13T11:05:53.0112551Z             {
2026-06-13T11:05:53.0112705Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0112819Z               "line": 49
2026-06-13T11:05:53.0112928Z             },
2026-06-13T11:05:53.0113039Z             {
2026-06-13T11:05:53.0113186Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0113301Z               "line": 152
2026-06-13T11:05:53.0113406Z             },
2026-06-13T11:05:53.0113515Z             {
2026-06-13T11:05:53.0113659Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0113772Z               "line": 215
2026-06-13T11:05:53.0113882Z             },
2026-06-13T11:05:53.0113988Z             {
2026-06-13T11:05:53.0114139Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0114253Z               "line": 230
2026-06-13T11:05:53.0114362Z             },
2026-06-13T11:05:53.0114475Z             {
2026-06-13T11:05:53.0114623Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0114733Z               "line": 247
2026-06-13T11:05:53.0114847Z             },
2026-06-13T11:05:53.0114958Z             {
2026-06-13T11:05:53.0115104Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0115219Z               "line": 269
2026-06-13T11:05:53.0115324Z             },
2026-06-13T11:05:53.0115433Z             {
2026-06-13T11:05:53.0115587Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0115700Z               "line": 66
2026-06-13T11:05:53.0115810Z             },
2026-06-13T11:05:53.0115916Z             {
2026-06-13T11:05:53.0116067Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-13T11:05:53.0116178Z               "line": 154
2026-06-13T11:05:53.0116297Z             },
2026-06-13T11:05:53.0116411Z             {
2026-06-13T11:05:53.0116541Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0116663Z               "line": 1884
2026-06-13T11:05:53.0116767Z             },
2026-06-13T11:05:53.0116877Z             {
2026-06-13T11:05:53.0117003Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0117122Z               "line": 1957
2026-06-13T11:05:53.0117233Z             },
2026-06-13T11:05:53.0117342Z             {
2026-06-13T11:05:53.0117470Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0117590Z               "line": 1967
2026-06-13T11:05:53.0117695Z             },
2026-06-13T11:05:53.0117800Z             {
2026-06-13T11:05:53.0117934Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0118047Z               "line": 1974
2026-06-13T11:05:53.0118154Z             },
2026-06-13T11:05:53.0118267Z             {
2026-06-13T11:05:53.0118396Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0118515Z               "line": 2011
2026-06-13T11:05:53.0118620Z             },
2026-06-13T11:05:53.0118730Z             {
2026-06-13T11:05:53.0119040Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:53.0119155Z               "line": 480
2026-06-13T11:05:53.0119258Z             },
2026-06-13T11:05:53.0119365Z             {
2026-06-13T11:05:53.0119502Z               "path": "crates/xtask/src/main.rs",
2026-06-13T11:05:53.0119620Z               "line": 494
2026-06-13T11:05:53.0119826Z             }
2026-06-13T11:05:53.0119935Z           ]
2026-06-13T11:05:53.0120040Z         },
2026-06-13T11:05:53.0120155Z         "int": {
2026-06-13T11:05:53.0120268Z           "complete": false,
2026-06-13T11:05:53.0120388Z           "evidence": []
2026-06-13T11:05:53.0120493Z         },
2026-06-13T11:05:53.0120606Z         "unit": {
2026-06-13T11:05:53.0120727Z           "complete": true,
2026-06-13T11:05:53.0120831Z           "evidence": [
2026-06-13T11:05:53.0120936Z             {
2026-06-13T11:05:53.0121080Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-13T11:05:53.0121185Z               "line": 476
2026-06-13T11:05:53.0121289Z             },
2026-06-13T11:05:53.0121404Z             {
2026-06-13T11:05:53.0121542Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-13T11:05:53.0121658Z               "line": 580
2026-06-13T11:05:53.0121766Z             },
2026-06-13T11:05:53.0121865Z             {
2026-06-13T11:05:53.0121998Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0122116Z               "line": 8092
2026-06-13T11:05:53.0122225Z             },
2026-06-13T11:05:53.0122330Z             {
2026-06-13T11:05:53.0122459Z               "path": "crates/spt/src/cli.rs",
2026-06-13T11:05:53.0122573Z               "line": 8114
2026-06-13T11:05:53.0122683Z             }
2026-06-13T11:05:53.0122792Z           ]
2026-06-13T11:05:53.0122897Z         }
2026-06-13T11:05:53.0123008Z       }
2026-06-13T11:05:53.0123117Z     }
2026-06-13T11:05:53.0123217Z   ],
2026-06-13T11:05:53.0123332Z   "findings": []
2026-06-13T11:05:53.0123441Z }
